Retix – Secondary Ticket Marketplace (Backend)
Retix is a backend application that enables secure buying, selling, and transferring of event tickets. It supports user roles, ticket listings, booking workflows, payment status updates, and QR-based ticket verification
Features User registration & login Ticket creation, search, deletion Buyer → Seller booking request flow Seller approval system Payment confirmation APIs QR code generation and verification MySQL database with JPA Complete Postman API collection included (/postman/Retix-collection.postman_collection.json)
Tech Stack Backend Java 17 Spring Boot Spring Web Spring Data JPA (Hibernate)
MySQL(Database) Maven Lombok
Tools GitHub Postman VS Code
Setup Instructions 1️⃣ Clone the Project git clone https://github.com/nikitha-56/retix.git
cd retix
2️⃣ Create MySQL Database CREATE DATABASE retix;
3️⃣ Configure Database in application.properties spring.datasource.url=jdbc:mysql://localhost:3306/retix spring.datasource.username=root spring.datasource.password=yourpassword
spring.jpa.hibernate.ddl-auto=update spring.jpa.show-sql=true
4️⃣ Install Dependencies mvn clean install
5️⃣ Run the Server mvn spring-boot:run
6️⃣ Access APIs http://localhost:8080/
Postman Collection is available here: /postman/Retix-collection.postman_collection.json
API Documentation
The Postman collection includes: User APIs Ticket APIs Booking/Request APIs Payment APIs QR Code Generation APIs Ticket Verification APIs
Bonus Features Implemented QR code generation using ZXing library Secure QR token containing: ticketId, sellerId, expiry time Ticket verification endpoint using QR decode Modular service-repository-controller architecture Postman collection of all APIs Status-tracking for booking workflow (REQUESTED → APPROVED → PAID)
Assumptions Payments are simulated (only status is updated, no real gateway). QR code verification is done using Base64 + ZXing. Booking flow is linear: REQUESTED → APPROVED → PAID.
“Open Postman → Click Import → Choose Upload Files → Select Retix-collection.postman_collection.json → Click Import.




















