Link mã nguồn:
https://github.com/kentdoan/qr-attendance
Mở Terminal và clone kho chứa mã nguồn:
git clone https://github.com/kentdoan/qr-attendance.git
cd qr-attendance/backend
Sử dụng npm install để tải thư viện trước, sau đó dùng AWS SAM để đóng gói code Lambda bằng ESBuild:
npm install
sam build

Trước khi deploy, hãy đảm bảo bạn đã đăng nhập và liên kết Terminal với tài khoản AWS:
aws login

Sau đó, chạy lệnh sau để triển khai hạ tầng lên AWS (CloudFormation sẽ tự động tạo Lambda, API Gateway, DynamoDB…):
sam deploy --guided
Hệ thống sẽ hỏi bạn một số cấu hình. Hãy trả lời như sau:
qr-attendance-backend-devap-southeast-1yynyEnter để mặc định là samconfig.tomlEnter để mặc định là defaultChờ khoảng 2-3 phút, hệ thống sẽ triển khai hoàn tất.

Khi hoàn thành, Terminal sẽ in ra bảng Outputs. Bạn BẮT BUỘC HÃY LƯU LẠI 3 giá trị sau để cấu hình Frontend ở bước tiếp theo:
ApiEndpoint (URL của API Gateway)UserPoolId (ID của Cognito User Pool)UserPoolClientId (ID của Cognito App Client)Để có thể đăng nhập và tạo lớp học, bạn cần có một tài khoản Admin. Chúng tôi đã viết sẵn một script tự động kết nối với AWS để tạo tài khoản cho bạn.
Chạy lệnh sau trong Terminal (đảm bảo bạn đang đứng ở thư mục qr-attendance/backend):
cd ../scripts
chmod +x create_admin.sh
./create_admin.sh
Hệ thống sẽ tự động tìm kiếm kết nối tới AWS và yêu cầu bạn nhập Email, Mật khẩu và Họ tên.

Khi màn hình báo “Thành công!”, bạn đã có thể dùng tài khoản này để đăng nhập vào trang web ở phần sau.