Thanks to visit codestin.com
Credit goes to github.com

Skip to content

TaiTitans/TetTicket

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

35 Commits
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

TetTicket

TetTicket is an online ticket management platform designed for Tet events. This project aims to high traffic system.

❗Note: this is a personal project on my career journey to become a Senior Backend Developer. So this project probably won't be the most optimal because I'm working on it and studying at the same time.

GitHub license GitHub stars GitHub forks

🚀 Key Features

Distributed systems are subject to high loads >20,000 req/s

{126430C9-ACE5-414A-90F1-42EC96697A47}

-> Defense Line 1: RateLimiter - Circuit Breaker (Resilience4j)

-> Defense Line 2: Distributed Cache -> Redisson.

-> Defense Line 3: Local Cache (Guava)



Deploy: Docker Compose

Logging: Prometheus + Grafana (Spring Boot, MySQL, Redis, Node Exporter)

Stack: ELK - Elasticsearch - LogStash - Kibana

Testing Performance: Vegeta, WRK.

Setup Proxy Nginx for Load Balancer

Expected to be implement.:

Message Queue: Kafka Cluster. ...

🛠️ Technology Stack

Backend:

  • Language: Java 23
  • Framework: Spring Boot (Domain Driven Design)
  • Database:
    • MySQL: Used for storing user, event, and ticket data.
    • AWS: S3.
    • Redis: Redisson (Sentinel, LUA)
  • Security: Keycloak for Authentication and Authorization.
  • API Documentation: Spring OpenAPI + Swagger v2.3.0

Deployment:

  • Docker: Containerized services.
  • Prometheus: Tracing.
  • Grafana: Logging.

⚙️ Installation and Setup

System Requirements

Setup Instructions

  1. Clone the repository:

    git clone https://github.com/TaiTitans/TetTicket.git
    cd TetTicket/tetticket.com/environtment
  2. Start the backend services with Docker Compose:

    docker-compose up -d
  3. Access the application at http://localhost:1212.

🗂️ Project Structure

TetTicket/
├── tetticket.com/                # Backend with DDD
│   ├── tetticket-application/       
│   ├── tetticket-domain/     
│   ├── tetticket-infrastructure/     
|   ├── tetticket-controller/ 
│   └── tetticket-start
|    ├── environtment/               # Data project
|        ├── environtment/docker-conpose-dev.yml    # Docker Compose configuration 
|        ├── environtment/docker-conpose-broker-kafka.yml  
└── README.md               # Project documentation

📚 Usage Guide

  1. Register an account or log in.
  2. Browse the list of events and select one you want to join.
  3. Choose ticket type, quantity, and proceed with payment.
  4. Check your email for the e-ticket.

Order Ticket

image

✨ Contribution

If you'd like to contribute to the project:

  1. Fork this repository.
  2. Create a new branch:
    git checkout -b feature/feature-name
  3. Commit your changes:
    git commit -m "Short description of your changes"
  4. Push your branch:
    git push origin feature/feature-name
  5. Open a Pull Request.

📄 License

This project is licensed under the MIT License.

🌐 Contact

About

High Traffic System

Resources

License

Stars

Watchers

Forks

Packages

No packages published

Languages