Skip to content

DIPRO2000/TicketFlow

Folders and files

NameName
Last commit message
Last commit date

Latest commit

Β 

History

31 Commits
Β 
Β 
Β 
Β 
Β 
Β 

Repository files navigation

🎫 TicketFlow

TicketFlow is a high-performance, full-stack event management and ticketing solution. It empowers organizers to create events, manage attendees, and verify entries in real-time using secure, unique tokens and atomic check-in logic.

🌐 Live Demo

Frontend: https://ticket-flow-rust.vercel.app
Backend: https://ticketflow-ta7e.onrender.com


πŸš€ Key Features

  • Real-Time Analytics: Instant insights into tickets sold, check-in rates, and revenue via a centralized dashboard.
  • Atomic Check-in Logic: Prevents race conditions and duplicate entries using MongoDB's $inc and $push operators.
  • Batch Entry Support: Handles "Group Tickets" seamlessly by tracking individual entries within a single purchase.
  • Advanced Data Export: One-click Excel (.xlsx) export for attendee lists and ticket data.
  • Dynamic Image Management: Support for event cover images and multi-image galleries.
  • Production-Ready Auth: Secure JWT-based authentication using cross-site HTTP-only cookies (SameSite: None).

πŸ› οΈ Tech Stack

Frontend

  • Framework: React.js (Vite)
  • Styling: Tailwind CSS + Shadcn UI
  • Animations: Framer Motion
  • Icons: Lucide React
  • Data Handling: XLSX, Date-fns

Backend

  • Environment: Node.js + Express.js
  • Database: MongoDB + Mongoose
  • Security: JWT, Bcrypt, Helmet
  • Deployment: Render (Backend), Vercel (Frontend)

πŸ“‚ Project Structure

β”œβ”€β”€ backend/            # Express server, MongoDB models, & API routes
β”œβ”€β”€ frontend/           # React SPA, Tailwind components, & state logic
└── vercel.json         # SPA routing configuration for Vercel

πŸ’» Setup & Installation

  1. Clone the repository
git clone [https://github.com/DIPRO2000/TicketFlow.git](https://github.com/DIPRO2000/TicketFlow.git)
cd TicketFlow
  1. Backend Configuration Navigate to the backend folder and install dependencies:
cd backend
npm install

Create a .env file:

PORT=5000
MONGO_URL=your_mongodb_atlas_uri
ORGANIZER_JWT_SECRET=your_jwt_secret
FRONTEND_URL=http://localhost:5173
NODE_ENV=development
  1. Frontend Configuration Navigate to the frontend folder and install dependencies:
cd ../frontend
npm install

Create a .env file:

VITE_BACKEND_URL=http://localhost:5000
VITE_FRONTEND_URL=http://localhost:5173

πŸ”’ Deployment Tips

To successfully deploy this project (Vercel + Render), ensure the following:

  1. CORS: The FRONTEND_URL in your backend environment must exactly match your Vercel URL (with no trailing /).

  2. Cookie Security: The authentication cookies must be set with secure: true and sameSite: "none" to allow cross-domain communication.

  3. SPA Routing: Use the included vercel.json file to prevent 404 errors when refreshing the dashboard or visiting direct links.


🀝 Contributing

Contributions are welcome! Please feel free to submit a Pull Request.

Developed with ❀️ by Diprajit Chakraborty

About

🎫 Comprehensive event ticketing solution with secure real-time verification and a robust organizer dashboard. Built with React, Node.js, and MongoDB.

Topics

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors