Skip to content

Latest commit

 

History

History
97 lines (73 loc) · 2.65 KB

File metadata and controls

97 lines (73 loc) · 2.65 KB

🎟️ Simple Ticketing System

Java
Spring Boot
Stripe
MySQL


📖 About the Project

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.


✨ Features

👤 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)

🏗️ Tech Stack

  • Backend: Java 24, Spring Boot
  • Database: Mysql (JPA/Hibernate for ORM)
  • Payments: Stripe
  • API Docs: SpringDoc / OpenAPI (Swagger UI)
  • Build Tool: Maven

🚀 Getting Started

✅ Prerequisites

⚙️ Installation

# 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

▶️ Running the App

# Run with Maven
mvn spring-boot:run

The app should now be running at:
👉 http://localhost:8080


💳 Stripe Integration

  • Configure your .env or application.yml with 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

📡 API Endpoints (Sample)

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)