Trang này giúp bạn trình bày có trật tự trong 10-15 phút. Mục tiêu không phải mở thật nhiều màn hình, mà là chứng minh hệ thống có kiến trúc rõ, luồng nghiệp vụ chính chạy hợp lý, và bạn biết mở code khi bị hỏi.
Chuẩn bị trước khi demo
Việc cần kiểm
Lệnh/trang
Kỳ vọng
Docs site
http://127.0.0.1:4010/
Mở được, search được
Frontend LMS
http://localhost:4200
Vào được login/app
Backend API
curl http://localhost:8088/actuator/health
Backend LMS trả health đúng; nhớ kiểm docker ps nếu port 8088 bị container khác chiếm
Swagger
http://localhost:8088/swagger-ui
Xem API khi bị hỏi endpoint
Database ERD
DBeaver schema public
Thấy bảng LMS; khi đếm nghiệp vụ bỏ qua flyway_schema_history
Code editor
Mở workspace E:\Sach\Sua\LMS_hohulili
Sẵn sàng search file bằng rg hoặc docs CodeMap
Không deploy production trong buổi demo. Nếu cần chứng minh production, chỉ trình bày kiến trúc/runtime và evidence đã có, không chạy script deploy.
Kịch bản 10 phút
Phút
Nói gì
Mở gì
0-1
Giới thiệu LMS Hàng Hải: hệ thống học trực tuyến cho course, lesson, assessment, payment, video/offline và Wiii AI safety.
“Em tìm component theo route/feature, sửa class/style ở component hoặc design token chung.”
Sửa logic UI
Component/service/store frontend
“Em kiểm state và API call trước, sau đó mới xuống backend nếu rule nằm server.”
Sửa API/backend
Controller -> use case -> repository adapter
“Controller chỉ nhận request, use case giữ rule, adapter map DB.”
Thêm cột DB
Migration Flyway mới
“Không sửa migration cũ đã chạy production; tạo migration version mới.”
Debug learner chưa thấy bài mới
Publication flow
“Learner đọc snapshot, nên course approved cần submit/approve lại sau khi đổi nội dung.”
Debug payment
Payment controller/use case/table
“Payment là vùng nhạy cảm, backend xác nhận callback/webhook và không tin giá frontend.”
Debug Wiii
Wiii page + component DOM target
“Wiii chỉ click target safe, mọi nội dung AI phải preview/diff trước apply.”
Kịch bản nếu demo lỗi hoặc bị lỗi
Lỗi
Cách xử lý bình tĩnh
Không mở được backend 8088
Chạy docker ps, xem có container khác chiếm port không; mở docs/troubleshooting để giải thích
Frontend không chạy
Chuyển sang docs + Swagger + code map để chứng minh luồng; không mất thời gian cài lại package
DB ERD quá rối
Chụp/giải thích theo domain: identity, course, assessment, learning, payment, media
Search docs không ra do chưa focus
Dùng Ctrl+K, gõ class/table/term; nếu vẫn lỗi, mở sidebar trực tiếp
Thầy hỏi con số scale
Không đoán; trả lời cần load test và nêu metric/kịch bản đo
Câu chốt cuối buổi
Điểm chính của hệ thống là luồng nghiệp vụ đã tách rõ: teacher authoring và learner delivery không đọc cùng một bản draft; backend giữ business rule; database quản lý bằng Flyway; video/storage tách khỏi web backend; Wiii chỉ hoạt động trong ranh giới safe action có preview/diff.