- Lê Văn Hòa - 20020406
- Đào Đức Hiệp - 20020259
- Nguyễn Đức Anh - 20020095
- Stack Backend: Typescript, TypeORM, NodeJS, ExpressJS
- Stack Frontend: Typescript, Next.js, TailwindCSS
- Stack Overflow
# Chạy backend
cd backend
npm install
npm run seed
npm run dev# Chạy frontend
cd frontend
npm install
npm run build
npm start- Các chức năng đã cài đặt: Xem ở dưới
- 😉
- Responsive GUI.
- Hiệu năng:
- Dùng React, axios và Next.js layout để tại lại bộ phận trang web, cập nhật DOM.
- Backend API gửi JSON giao tiếp với frontend.
- 👏
- Xử lý nhập liệu:
- Validate các input frontend + backend.
- ...
- ...
- Xử lý phiên, xác thực, an ninh:
- Dùng jwt để xác thực người dùng.
- Password được hash trước khi lưu vào database.
- Không dùng raw SQL. Input được escape/sanitize bởi TypeORM.
- API phân quyền: Người dùng admin có thể tạo và sửa loại người dùng. Mỗi route API quy định được loại người dùng nào có thể truy cập.
- Định tuyến URL:
- Frontend: Dùng React Router để định tuyến URL.
- Backend: REST API.
- Cơ sở dữ liệu:
- Thao tác theo lập trình hướng đối tượng: ORM và các lớp đối tượng.
- Các lớp validate trước khi lưu vào database: Frontend -> Controller của route API -> Custom Validator, TypeORM, class-validator -> Database Constraints.
! Cam: Đã cài đặt ở backend
+ Xanh: Đã cài đặt ở backend + frontend**Ban điều hành BigCorp**
+ Quản lý danh mục dòng sản phẩm.
+ Cấp tài khoản và quản lý danh mục các cơ sở sản xuất, đại lý phân phối và trung tâm bảo hành.
+ Theo dõi và xem thống kê sản phẩm trên toàn quốc, theo trạng thái và theo cơ sở sản xuất, đại lý phân phối và trung tâm bảo hành.
**Cơ sở sản xuất**
+ Nhập các lô sản phẩm mới vừa sản xuất vào kho.
+ Xuất sản phẩm cho đại lý.
+ Nhận các sản phẩm lỗi về từ các trung tâm bảo hành.
+ Thống kê và báo cáo số liệu sản phẩm theo từng loại (trạng thái).
+ Thống kê và phân tích số lượng sản phẩm bán ra trong một khoảng thời gian.
+ Thống kê tỉ lệ sản phẩm bị lỗi theo dòng sản phẩm, cơ sở sản xuất, đại lý phân phối.
**Đại lý phân phối**
+ Nhập sản phẩm mới về từ cơ sở sản xuất. Sản phẩm nhập về được lưu tại kho (riêng, nội bộ) của đại lý.
+ Bán sản phẩm cho khách hàng.
+ Nhận lại sản phẩm cần bảo hành và chuyển đến trung tâm bảo hành.
+ Nhận lại sản phẩm từ trung tâm bảo hành.
+ Trả lại sản phẩm đã bảo hành cho khách hàng.
+ Thống kê và báo cáo số liệu sản phẩm theo từng loại (trạng thái).
+ Thống kê và phân tích số lượng sản phẩm bán ra trong một khoảng thời gian.
**Trung tâm bảo hành**
+ Nhận các sản phẩm bảo hành hoặc triệu hồi từ đại lý.
+ Trả sản phẩm đã sửa chữa xong cho đại lý.
+ Chuyển sản phẩm bảo hành lỗi không thể sửa chữa về cơ sở sản xuất.
+ Thống kê và báo cáo số liệu sản phẩm theo từng loại (trạng thái).Trong một vòng đời thì sản phẩm chỉ có thể thuộc 1 cơ sở, 1 đại lý, 1 người dùng nhưng trung tâm bảo hành không cố định tùy vào lựa chọn của đại lý lúc gửi đi bảo hành.
- Ban điều hành BigCorp (admin) tạo ra dòng sản phẩm bao gồm tên, model, thời gian bảo hành theo tháng và các thuộc tính khác.
- Cơ sở sản xuất tạo ra một số lượng sản phẩm từ một dòng sản phẩm. ➡️
mới sản xuất. - Cơ sở sản xuất gửi nhiều sản phẩm về cho đại lý được chọn. ➡️
đưa về đại lý. - Đại lý bán 1 hoặc nhiều sản phẩm cho khách hàng. ➡️
đã bán - Đại lý nhận sản phẩm cần bảo hành từ khách hàng khi có vấn đề. Đại lý chọn trung tâm bảo hành cần gửi sản phẩm tới. ➡️
lỗi cần bảo hành - Trung tâm bảo hành nhận các sản phẫm từ đại lý và bắt đầu sửa chữa. ➡️
đang sửa chữa bảo hành
- Đại lý nhận lại các sản phẩm đã bảo hành. ➡️
đã bảo hành xong - Đại lý gửi lại các sản phẩm bảo hành xong cho khách hàng. ➡️
đã trả lại bảo hành cho khách hàng
- Trung tâm bảo hành báo sản phẫm lỗi không sửa được. Đại lý liên hệ với khách hàng để cung cấp sản phẩm thay thế. ➡️
lỗi cần trả về nhà máy - Cơ sở sản xuất nhận lại sản phẩm lỗi từ trung tâm bảo hành. ➡️
lỗi đã đưa về cơ sở sản xuất
- Sản phẩm đang thuộc các trạng thái ở chỗ khách hàng và được triệu hồi. ➡️
lỗi cần triệu hồi - Sản phẩm đang ở chỗ khách hàng và hết bảo hành. ➡️
hết thời gian bảo hành - Đại lý trả lại sản phẩm cho nơi sản xuất vì lâu không bán được. ➡️
trả lại cơ sở sản xuất - 4 trạng thái đang trên đường vận chuyển và chuyển thành trạng thái chính thức khi nhận được:
đưa về đại lý (đang trên đường),đang sửa chữa bảo hành (đang trên đường),đã bảo hành xong (đang trên đường),lỗi đã đưa về cơ sở sản xuất (đang trên đường)