A full-stack, role-based ticket booking platform for Bus, Train, Launch & Flight tickets.
🔗 Live URL: https://online-ticket-booking-fullstack.netlify.app
TicketBari is a production-ready ticket booking platform designed to simulate a real-world commercial system.
It demonstrates secure authentication, role-based dashboards, admin moderation, vendor ticket management, and Stripe payment integration with a modern recruiter-friendly UI.
- Email & Password authentication
- Google social login
- Password validation (Uppercase, Lowercase, Min 6 characters)
- Role-based protected routes (User / Vendor / Admin)
- Firebase Authentication
- JWT / Firebase token secured APIs
- Environment variables for Firebase & MongoDB credentials
- Hero banner / slider
- Advertisement section (Admin selected – max 6 tickets)
- Latest tickets section (recently added)
- Two custom extra sections
- Fully responsive layout
- Shows only admin-approved tickets
- 🔍 Search by From → To
- 🎯 Filter by Transport Type
- 🔃 Sort by Price (Low → High / High → Low)
- 📄 Pagination (6–9 tickets per page)
- Clean grid layout with equal-height cards
- Full ticket information
- Countdown timer based on departure date & time
- “Book Now” modal with quantity selection
- Smart booking rules:
- Cannot book if quantity is 0
- Cannot book after departure time
- Cannot exceed available quantity
- Profile information
- My Booked Tickets
- Status: Pending / Accepted / Rejected / Paid
- Countdown timer
- Stripe payment integration
- Transaction History table
- Vendor profile
- Add ticket with image upload (imgbb)
- Manage added tickets (Update / Delete)
- Requested bookings (Accept / Reject)
- Revenue overview with interactive charts
- Admin profile
- Manage tickets (Approve / Reject)
- Manage users (Make Admin / Vendor)
- Mark vendor as Fraud
- Advertise tickets (Max 6)
- Modern & recruiter-friendly design
- Consistent typography and color theme
- Dark / Light mode toggle
- Responsive for mobile, tablet & desktop
- Smooth animations with Framer Motion
- Loading spinners & error handling pages
- Beautiful cards design & proper spacing
- React 19
- Vite
- React Router
- React Router DOM
- Tailwind CSS
- DaisyUI
- Firebase
- Axios
- React Hook Form
- Framer Motion
- Recharts
- Swiper
- SweetAlert2
- React Toastify
- Lucide React / React Icons
- React Spinners
- React Fast Marquee
- Node.js
- Express.js
- MongoDB
- Firebase Token Authentication
- Stripe Payment Gateway
- Secure CORS handling