_____ _ _ _ _ _ ___ ___
|_ _(_)__| |_____| |_(_)_ _ __ _ /_\ | _ \_ _|
| | | / _| / / -_) _| | ' \/ _` |/ _ \| _/| |
|_| |_\__|_\_\___|\__|_|_||_\__, /_/ \_\_| |___| v1.0
|___/
running on Spring Boot 3.3.4
TicketingApp backend is a state-of-the-art solution built with Spring Boot, designed to efficiently manage ticket transactions and event data. Utilizing multithreading and the Producer-Consumer pattern, it ensures high performance and responsiveness. The system follows solid Object-Oriented Programming (OOP) principles, promoting scalability and maintainability. Secure JWT-based authentication and role-based access control provide distinct functionalities for admins, vendors, and customers. Seamlessly integrating with the frontend, it offers a dynamic, real-time experience for tracking ticket sales and managing events with precision.
-
Accept User Prompts at Launch Prompt users for configuration options before application startup.
-
Error Handling and Input Validation Ensure robust error handling and validation for all user inputs.
-
Start and Stop Functionality via CLI Buttons Implement CLI commands to easily start and stop the system.
-
Default Configuration Feature Provide a fallback configuration to use when custom settings are not specified.
-
Dynamic Configuration Feature (Optional) Allow for real-time, customizable configurations during runtime.
-
Documentation for CLI Usage and Config Options Provide clear documentation for all available CLI commands and configuration options.
-
Javadoc for All Classes and Methods Ensure comprehensive Javadoc documentation is provided for maintainability.
- Java 21 or higher
- Maven 3.6.3 or higher
- PostgreSQL 13 or higher
-
Clone the repository:
git clone https://github.com/anuja-rahul/ticketingApp.git cd ticketingApp
-
Environment variables Configuration:
in the
.env
file# Database connection URL for PostgreSQL SPRING_DATASOURCE_URL=jdbc:postgresql://localhost:5432/ticketingapp # Database username SPRING_DATASOURCE_USERNAME=yourUsername # Database password SPRING_DATASOURCE_PASSWORD=yourPassword # Secret key for JWT authentication (265bit preferably) SECRET_KEY=yourSecretKey
-
Build the project:
mvn clean install
-
Run the application:
mvn spring-boot:run
To run the tests, use the following command:
mvn test
After starting the application, you can access the API at
http://localhost:8080/api
.After starting the application, you can access the API documentation at
http://localhost:8080/swagger-ui/index.html
.
This project is licensed under the Apache License 2.0 - see the LICENSE file for details.