E-commerce Platform là một hệ thống thương mại điện tử được xây dựng với kiến trúc microservices, hỗ trợ thanh toán trực tuyến, xử lý đơn hàng, quản lý sản phẩm và thông báo thời gian thực. Hệ thống được thiết kế nhằm đảm bảo hiệu suất cao, khả năng mở rộng và tính linh hoạt trong việc tích hợp với các dịch vụ bên thứ ba.
Hệ thống sử dụng kiến trúc microservices, giao tiếp qua gRPC và sự kiện Kafka. Các thành phần chính bao gồm:
- Xử lý authentication, điều hướng request từ frontend đến các service backend.
- Lưu OTP trong Redis để xác thực email, số điện thoại (TTL = 5 phút).
- Cache kiểm tra tồn kho sản phẩm để tối ưu hiệu suất.
- Giao tiếp RESTful API với frontend.
- Xử lý đơn hàng, thanh toán.
- Tích hợp Stripe để thanh toán trực tuyến.
- Lưu thông tin đơn hàng vào Orders DB.
- Quản lý sản phẩm, kho hàng.
- Lưu dữ liệu vào Supplier DB.
- Gửi thông báo khi có sự kiện quan trọng (đơn hàng, khuyến mãi, v.v.).
- Sử dụng Kafka để xử lý thông báo nền.
- Lưu dữ liệu vào UserNotifications DB.
- Lưu trữ ảnh sản phẩm và tài nguyên khác (tương tự S3).
- Stripe Adapter: Giao tiếp với Stripe để xử lý thanh toán.
- Notification Adapter: Tích hợp với các nhà cung cấp dịch vụ thông báo bên thứ ba.
- Backend: Golang, gRPC, REST API
- Frontend: ReactJS, JS, CharkaUI
- Message Queue: Kafka
- Database: PostgreSQL, Redis (cache & OTP)
- Storage: MinIO (tương thích S3)
- Authentication: OAuth2 / JWT
- Deployment: Docker, Docker Compose
git clone https://github.com/TienMinh25/ecommerce-platform.git
cd ecommerce-platform- Tạo file
.env.prodtrong thư mụcconfigs/với các biến môi trường cần thiết. - Cấu hình Postgres, Kafka, Redis, MinIO, Stripe theo yêu cầu của hệ thống.
docker-compose up -d- API Gateway mặc định chạy tại:
http://localhost:3000
Xem tài liệu API đầy đủ trong thư mục docs.
Xem tài liệu đầy đủ tại thư mục desgin-system
Dự án này được phát hành dưới giấy phép MIT.
- Tiến Minh - Backend Developer
- Và các contributors khác...
🔥 Chúc bạn triển khai thành công! 🚀
