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.
Frontend: https://ticket-flow-rust.vercel.app
Backend: https://ticketflow-ta7e.onrender.com
- 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
$incand$pushoperators. - 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).
- Framework: React.js (Vite)
- Styling: Tailwind CSS + Shadcn UI
- Animations: Framer Motion
- Icons: Lucide React
- Data Handling: XLSX, Date-fns
- Environment: Node.js + Express.js
- Database: MongoDB + Mongoose
- Security: JWT, Bcrypt, Helmet
- Deployment: Render (Backend), Vercel (Frontend)
βββ backend/ # Express server, MongoDB models, & API routes
βββ frontend/ # React SPA, Tailwind components, & state logic
βββ vercel.json # SPA routing configuration for Vercel
π» Setup & Installation
- Clone the repository
git clone [https://github.com/DIPRO2000/TicketFlow.git](https://github.com/DIPRO2000/TicketFlow.git)
cd TicketFlow- Backend Configuration Navigate to the backend folder and install dependencies:
cd backend
npm installCreate 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
- Frontend Configuration Navigate to the frontend folder and install dependencies:
cd ../frontend
npm installCreate a .env file:
VITE_BACKEND_URL=http://localhost:5000
VITE_FRONTEND_URL=http://localhost:5173
To successfully deploy this project (Vercel + Render), ensure the following:
-
CORS: The FRONTEND_URL in your backend environment must exactly match your Vercel URL (with no trailing /).
-
Cookie Security: The authentication cookies must be set with secure: true and sameSite: "none" to allow cross-domain communication.
-
SPA Routing: Use the included vercel.json file to prevent 404 errors when refreshing the dashboard or visiting direct links.
Contributions are welcome! Please feel free to submit a Pull Request.
Developed with β€οΈ by Diprajit Chakraborty