BE

buiquangminh2101024/event-ticketing-platform-deploy

Deployment & DevOps
0 stars Quality 40 Trend 4

Dự án bài tập lớn môn , xây dựng nền tảng đặt vé sự kiện trực tuyến hiệu năng cao dựa trên kiến trúc Microservices.

Overview

Dự án bài tập lớn môn , xây dựng nền tảng đặt vé sự kiện trực tuyến hiệu năng cao dựa trên kiến trúc Microservices. - Framework chính. - API Gateway reverse proxy. - Authentication & Authorization. - ORM làm việc với MySQL. - Circuit Breaker & Retry Mechanism. - Containerization (7+ Containers). - Cơ sở dữ liệu quan hệ. - Caching & Rate Limiter Storage. - Message Queue xử lý đặt vé bất đồng bộ (Async). - CI/CD Pipelines. - Infrastructure as Code (IaC) demo. Hệ thống bao gồm 9 Microservices độc lập: - Frontend web application: http://localhost:3000 - API Gateway: http://localhost:8080 - /auth/ -> identity-service:8087 - /events/ -> event-service:8082 - /bookings/ -> booking-service:8083 RabbitMQ Dashboard: http://localhost:15672 (User/Pass: guest/guest) GitLab Pipeline: Truy cập mục Build > Pipelines để xem minh chứng CI/CD.

README

🎟️ TicketBox - Hệ thống Đặt vé Sự kiện Microservices

Dự án bài tập lớn môn Kiến trúc Phần mềm, xây dựng nền tảng đặt vé sự kiện trực tuyến hiệu năng cao dựa trên kiến trúc Microservices.

🚀 Công nghệ sử dụng (Tech Stack)

Backend Core (JDK 21)

  • Spring Boot 3: Framework chính.
  • Nginx: API Gateway reverse proxy.
  • Spring Security + JWT: Authentication & Authorization.
  • Spring Data JPA: ORM làm việc với MySQL.
  • Resilience4j: Circuit Breaker & Retry Mechanism.

Infrastructure & DevOps

  • Docker & Docker Compose: Containerization (7+ Containers).
  • MySQL 8.0: Cơ sở dữ liệu quan hệ.
  • Redis: Caching & Rate Limiter Storage.
  • RabbitMQ: Message Queue xử lý đặt vé bất đồng bộ (Async).
  • Jenkins & GitLab CI: CI/CD Pipelines.
  • Terraform: Infrastructure as Code (IaC) demo.

🏗️ Kiến trúc Hệ thống

Hệ thống bao gồm 9 Microservices độc lập:

Service Port Nhiệm vụ chính
api-gateway 8080 Cổng vào duy nhất, reverse proxy bằng Nginx.
identity-service 8087 Đăng ký, Đăng nhập, cấp phát JWT.
event-service 8082 Quản lý sự kiện, tích hợp Redis Cache.
ticket-service 8084 Quản lý kho vé.
booking-service 8083 Xử lý đặt vé, Retry, tích hợp RabbitMQ.
payment-service 8085 Giả lập thanh toán.
… … (Các service khác)

🛠️ Hướng dẫn Cài đặt & Chạy (Dành cho Giảng viên)

Cách 1: Chạy toàn bộ bằng Docker (Khuyên dùng)

Yêu cầu: Đã cài Docker Desktop.

# 1. Clone dự án
git clone 
cd EVENT-TICKETING-PLATFORM

# 2. Build và Run (api-gateway chạy bằng nginx)
docker compose up --build
  • Frontend web application: http://localhost:3000
  • API Gateway: http://localhost:8080

Gateway nhận request tại cổng 8080:

  • /auth/ -> identity-service:8087
  • /events/ -> event-service:8082
  • /bookings/ -> booking-service:8083
curl http://localhost:8080/

RabbitMQ Dashboard: http://localhost:15672 (User/Pass: guest/guest)

GitLab Pipeline: Truy cập mục Build > Pipelines để xem minh chứng CI/CD.

View this README on GitHub

Recommended Tools

Try a different keyword or remove a filter.

Install

npx skillfish add buiquangminh2101024/event-ticketing-platform-deploy