Taytaotac
API thương mại điện tử dựng để bàn giao.
- Năm
- 2026
- Khách hàng
- Taytaotac
- Vai trò
- Lead engineer
- Thời gian
- 5 tháng
Case study
Đề bài
Một nền tảng thương mại điện tử dựng để bàn giao — đội của khách sẽ tự phát triển tiếp sau khi ra mắt. Điều đó biến quy ước và tài liệu thành một phần của thứ phải giao, chứ không phải thứ có thì tốt.
Cách làm
NestJS với TypeORM trên PostgreSQL, chọn đúng vì nó áp đặt: module, provider và DTO cho người tới sau một chỗ hiển nhiên để đặt code vào. Xác thực JWT kèm phân quyền theo vai trò, Swagger sinh ra từ chính những decorator dùng để kiểm tra dữ liệu, nên tài liệu không thể lệch khỏi API.
Hai frontend Next.js — một trang bán hàng và một trang quản trị — cộng SQS cho việc chạy nền, Firebase cho push, Sentry cho lỗi, và Facebook OAuth cho đăng nhập.
Chỗ khó
Kỷ luật thay vì tốc độ. Mọi endpoint đều có DTO và chú thích Swagger kể cả khi trả về một object trần sẽ nhanh hơn, và repo mang theo cả chục file markdown mô tả bề mặt API kèm ví dụ curl chạy được. Cách đó chậm hơn trong ngày đầu, và nhanh hơn rất nhiều vào cái ngày người khác phải thêm tính năng mà không hỏi tôi câu nào.
Stack
- NestJS
- TypeScript
- TypeORM
- PostgreSQL
- Next.js
- Swagger
- AWS SQS
- Firebase
- Sentry
- Docker