This is a Simple Ticketing System built with Java + Spring Boot.
It provides event organizers with tools to manage events, venues, and tickets while allowing attendees to purchase tickets securely via Stripe.
👤 User Features
- 📅 Create Events
- 🎟️ Create Ticket Types for each Event (VIP, Regular, etc.)
- 🏟️ Add Venues and define their capacity
- 💳 Buy Tickets via Stripe integration
🛠️ Admin Features (future roadmap)
- 👥 Role-based access control (Admin / Organizer / Attendee)
- 📊 Dashboard for managing events and ticket sales
- 🔒 Authentication & Authorization (JWT-based)
- Backend: Java 24, Spring Boot
- Database: Mysql (JPA/Hibernate for ORM)
- Payments: Stripe
- API Docs: SpringDoc / OpenAPI (Swagger UI)
- Build Tool: Maven
- Java 21+
- Maven
- Mysql installed locally
- Stripe CLI for webhook testing
# Clone the repo
git clone https://github.com/Tendwa-T/tickets-v3.git
# Navigate into project
cd tickets-v3
# Build the project
mvn clean install# Run with Maven
mvn spring-boot:runThe app should now be running at:
👉 http://localhost:8080
- Configure your
.envorapplication.ymlwith your Stripe keys:
stripe:
secret-key: sk_test_12345
publishable-key: pk_test_12345
webhook-secret: whsec_12345- Start Stripe CLI to forward webhooks:
stripe listen --forward-to localhost:8080/api/v1/webhook| Method | Endpoint | Description |
|---|---|---|
| POST | /api/v1/events |
Create a new Event |
| POST | /api/v1/tickets |
Create Ticket Types |
| POST | /api/v1/venue |
Add Venue |
| POST | /api/v1/checkout |
Purchase Tickets (Stripe) |
(Swagger UI available at /swagger-ui.html)