Logo
Dự án

D4C Clothing Shop

# microservices# event-driven# rabbitmq# docker# Express# spring boot# react

Giới thiệu về nền tảng thương mại điện tử D4C Clothing Shop được xây dựng theo kiến ​​trúc microservices.

ngày 28 tháng 08 năm 2026

# D4C Clothing Shop

## Tổng quan

D4C Clothing Shop là một nền tảng thương mại điện tử chuyên về bán lẻ quần áo, được xây dựng dựa trên kiến ​​trúc microservices. Dự án kết hợp giao diện người dùng (frontend) bằng React, API Gateway sử dụng Spring Cloud, cơ chế khám phá dịch vụ (service discovery) với Eureka, các dịch vụ Java Spring Boot, dịch vụ Node.js cùng cơ sở hạ tầng hỗ trợ cho việc lưu trữ dữ liệu, truyền tin (messaging), bộ nhớ đệm (caching) và tìm kiếm.

Hệ thống được thiết kế để chạy cục bộ (local) bằng Docker Compose, đồng thời cho phép phát triển độc lập từng dịch vụ. Lưu lượng truy cập từ phía người dùng đi qua API Gateway tại địa chỉ http://localhost:8080/api/**, và các dịch vụ sẽ đăng ký với Eureka để thực hiện khám phá dịch vụ.

## Các tính năng

## Công nghệ sử dụng

## Kiến trúc

Ứng dụng được tổ chức theo mô hình monorepo cho kiến ​​trúc microservices. Frontend gọi đến API Gateway, và gateway này sẽ định tuyến các yêu cầu có đường dẫn /api/** tới các instance dịch vụ được phát hiện thông qua Eureka.

Các dịch vụ cốt lõi của ứng dụng bao gồm:

Các dịch vụ hạ tầng bao gồm MariaDB, Redis, RabbitMQ, Elasticsearch, Kibana và Typesense. Tệp docker-compose.yml tại thư mục gốc đóng vai trò là nguồn cấu hình chính (source of truth) cho việc điều phối dịch vụ ở môi trường cục bộ. ## Cách chạy

Chạy toàn bộ hệ thống (full-stack) bằng Docker:

docker compose up --build -d

Chạy hệ thống ở chế độ phát triển (development) với hỗ trợ hot-reload cho frontend và các cổng debug cho Java:

docker compose -f docker-compose.yml -f docker-compose.dev.yml up --build

Dừng hệ thống:

docker compose down

Các URL cục bộ hữu ích:

Kiểm tra nhanh sau khi khởi động:

docker compose ps
curl http://localhost:8761
curl http://localhost:8080/actuator/health
curl http://localhost:8080/api/products

## Thành viên đóng góp

## Github