Chia sẻ Mã nguồn Website Thương Mại Điện Tử Full Stack - Kiến trúc Microservices (Spring Boot + React)

Thông tin cơ bản
Loại: Mã nguồn Web/App
Liên hệ hỗ trợ:
Giới thiệu chung
Chia sẻ tới mọi người mã nguồn đầy đủ một website thương mại điện tử (kiểu Shopee/Tiki thu nhỏ), đặt tên Hyyang - đồ án tốt nghiệp được xây dựng theo đúng kiến trúc microservices thật sự thay vì kiểu monolithic thường thấy ở các đồ án web bán hàng: 8 service Spring Boot độc lập, đăng ký qua Eureka, expose ra ngoài qua Spring Cloud Gateway, giao tiếp bất đồng bộ qua Kafka, dữ liệu chia theo từng service.
Gói chia sẻ gồm đầy đủ:
Toàn bộ source code 8 service backend (Java 17 + Spring Boot 3/Spring Cloud) và frontend (ReactJS).
Script SQL khởi tạo database (3 schema MySQL, kèm sẵn dữ liệu mẫu + tài khoản demo để chạy thử ngay).
File thuyết trình (.pptx) dùng để báo cáo bảo vệ đồ án - trình bày kiến trúc, demo, hướng phát triển.
docker-compose.ymlđể dựng toàn bộ hệ thống (backend + database + frontend) chỉ bằng 1 lệnh duy nhất, không cần cài Java/Node/MySQL/MongoDB thủ công.README hướng dẫn chi tiết, kèm Swagger UI cho từng service để tự khám phá API.
Demo giao diện






Kiến trúc hệ thống
Tất cả service đăng ký với Eureka discovery-server (:8761) để tự tìm nhau.
Spring Cloud Gateway (:8020) đóng vai trò cổng vào chung, route theo path về đúng service.
Apache Kafka dùng cho luồng thông báo bất đồng bộ (yêu cầu đăng ký seller).
Mỗi service sở hữu database riêng (database per service) - đúng chuẩn microservices, không share schema.
Hệ thống schema / database
Service | Port | Database engine | Schema/DB | Bảng chính |
|---|---|---|---|---|
user-service | 8080 | MySQL 8 |
|
|
product-service | 8083 | MySQL 8 |
|
|
order-service | 8085 | MySQL 8 |
|
|
file-service | 8081 | MongoDB 7 |
| Metadata file/ảnh upload (product, seller, mô tả sản phẩm...) |
chat-service | 8086 | MongoDB 7 |
| Tin nhắn chat real-time giữa khách hàng và người bán |
image_service | 8082 | MongoDB 7 |
| Service dự phòng, chưa được gateway/frontend sử dụng |
Chức năng chi tiết
Dành cho khách hàng
Đăng ký/đăng nhập bằng JWT, xác thực OTP qua email.
Trang chủ gợi ý sản phẩm, lọc theo danh mục/khoảng giá/số sao đánh giá, sắp xếp phổ biến - mới nhất - bán chạy.
Trang chi tiết sản phẩm: chọn phân loại (màu/size), xem đánh giá, thêm giỏ hàng hoặc mua ngay.
Giỏ hàng, áp mã voucher, xác nhận đơn hàng, chọn địa chỉ giao hàng, chọn phương thức vận chuyển.
Quản lý tài khoản cá nhân, sổ địa chỉ.
Chat real-time (WebSocket/STOMP) trực tiếp với người bán.
Trung tâm thông báo.
Dành cho người bán (Seller)
Đăng ký trở thành seller (kèm ảnh CCCD, chờ admin duyệt).
Quản lý sản phẩm: thêm/sửa/xoá, upload ảnh + mô tả rich text, quản lý phân loại/tồn kho.
Dashboard doanh thu: biểu đồ doanh thu theo ca/khoảng ngày, tổng khách hàng, tổng sản phẩm, tổng đơn hàng, cảnh báo sắp hết hàng.
Quản lý đơn hàng của shop.
Dành cho đơn vị vận chuyển / Shipper
Quản lý kho hàng, gán shipper theo kho.
Xử lý đơn giao hàng theo trạng thái.
Dành cho quản trị viên (Admin)
Duyệt/từ chối yêu cầu đăng ký seller.
Xem chi tiết thông tin từng seller, quản lý toàn hệ thống.
Tài khoản demo có sẵn
Chạy xong là có thể đăng nhập thử ngay, không cần tự đăng ký:
Username | Mật khẩu | Vai trò | Ghi chú |
|---|---|---|---|
|
| ROLE_ADMIN | Toàn quyền quản trị hệ thống |
|
| ROLE_SELLER | Có sẵn "Demo Shop" + 3 sản phẩm mẫu (ảnh thật) |
|
| ROLE_USER | Tài khoản khách hàng để test mua hàng/giỏ hàng/chat |
Công nghệ sử dụng
Backend
Java 17, Spring Boot 3.3/3.4, Spring Cloud (Gateway, Eureka, Config Client)
Spring Data JPA + MySQL 8, Spring Data MongoDB + MongoDB 7
Spring Security + JWT, Spring Kafka, Spring Mail (OTP)
springdoc-openapi (Swagger UI cho từng service)
Frontend
ReactJS 18, React Router, Ant Design, Axios, Chart.js
STOMP/SockJS cho chat real-time
Hạ tầng
Docker & Docker Compose - dựng toàn bộ 12 container (7 service Java + frontend + MySQL + MongoDB + Kafka + Eureka) chỉ bằng
docker compose up --build.
Chạy thử chỉ với 1 lệnh
Không cần cài Java, Node, MySQL hay MongoDB - chỉ cần Docker:
docker compose up --buildLệnh này tự build toàn bộ image, dựng MySQL/MongoDB/Kafka, và tự động import sẵn schema + dữ liệu mẫu (bao gồm 3 tài khoản demo ở bảng trên). Chi tiết đầy đủ nằm trong README của source.
Sau khi container chạy xong, vào http://localhost:3000 là dùng được ngay, mỗi service còn có sẵn Swagger UI riêng để xem/test toàn bộ API (http://localhost:<port>/swagger-ui.html).
Nội dung tải về
Full source code (backend x8 service + frontend)
Script SQL (schema + dữ liệu mẫu)
File PowerPoint thuyết trình bảo vệ đồ án
docker-compose.yml+ README hướng dẫn cài đặt/chạy chi tiết
Lời kết
Source đã dockerize sẵn nên chỉ cần Docker là chạy được ngay, không lo lỗi môi trường - phù hợp cho bạn nào muốn tham khảo cách triển khai Spring Cloud/Eureka/Gateway/Kafka/Docker qua một ví dụ thực tế thay vì chỉ đọc lý thuyết.
Có thắc mắc gì về source hoặc cần hỗ trợ cài đặt, liên hệ qua email: .