# 📋 Java Testing System - Microservices Dự án này là một hệ thống Microservices backend được xây dựng trên nền tảng **Spring Boot**, sử dụng **MongoDB** làm cơ sở dữ liệu chính và **Redis** để khóa giftcode-user tránh tình trạng thao tác quá nhanh. Toàn bộ hệ thống được đóng gói và quản lý bằng **Docker Compose**. --- ## 🚀 Các dịch vụ chính | Dịch vụ | Port | Công nghệ | Mô tả | | :--- | :--- | :--- | :--- | | **User Service** | `8601` | Spring Boot, MongoDB | Quản lý danh tính và thông tin người dùng. | | **Giftcode Service** | `8602` | Spring Boot, MongoDB | Quản lý, tạo và kiểm tra mã quà tặng. | | **Redis** | `6379` | Redis | Bộ nhớ đệm dùng chung cho các service. | | **MongoDB** | `27017` | MongoDB | Cơ sở dữ liệu NoSQL chính của hệ thống. | --- ## 🛠 Yêu cầu hệ thống Trước khi bắt đầu, hãy đảm bảo máy tính của bạn đã cài đặt: * **Docker** & **Docker Compose** * **Java 21** (Nếu muốn build code thủ công) * **Maven 3.9+** (Nếu muốn build file Jar thủ công) --- ## 📦 Hướng dẫn cài đặt và khởi chạy ### 1. Build và chạy toàn bộ bằng Docker Compose Mở Terminal/CMD tại thư mục gốc của dự án và chạy lệnh sau: ```bash # Xóa sạch các container cũ và build lại từ đầu docker-compose down docker-compose up -d --build ### 2. có thể chạy bằng dev IDE. yêu cầu có docker local. docker run -d -p 27017:27017 --name mongo mongo:7 docker run -d -p 6379:6379 --name redis redis:7