Skip to content

A full-stack web application for browsing, selecting, and booking movie tickets with a seamless user experience. Features include secure authentication via Clerk, admin dashboard, real-time seat selection with a hold timer, Stripe payments, and automated email confirmations via Inngest.

Notifications You must be signed in to change notification settings

KrishnaGupta1111/CineBook

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

28 Commits
 
 
 
 
 
 
 
 

Repository files navigation

📽️ CineBook – Movie Ticket Booking Platform

Screenshot-2025-08-01-235017.png

CineBook is a full-stack movie ticket booking platform that enables users to explore movies, select seats, and make secure online payments. Designed with a modern UI and smart backend logic, it ensures a seamless booking experience while also empowering admins with full control over listings and analytics.

Built using MERN Stack, Clerk Auth, Stripe, and Inngest, it features real-time email alerts, seat-hold logic, and a clean, responsive UI.

✨ Features

  • 🎬 Movie Listings – Explore current and upcoming movies.
  • 🪑 Live Seat Selection – Reserve seats per show with real-time updates.
  • 💳 Stripe Payments – Secure online booking with webhook confirmations.
  • 🔐 Clerk Auth – Login with Google, GitHub, or email/password.
  • 📧 Email Confirmations – Sent via Inngest-powered background jobs.
  • Smart Seat Hold – 8-minute seat holds auto-expire if payment fails.
  • 🛠 Admin Dashboard – Add/edit movies, shows, and view analytics.
  • 📱 Responsive Design – Mobile-friendly and desktop-ready.
  • 🚀 Production Optimized – Scalable and ready to deploy.

🔗 Demo

🟢 Live Demo
💻 Source Code

🛠️ Tech Stack

Category Technologies
🖥️ Frontend React.js, Tailwind CSS, Clerk
🧠 Backend Node.js, Express.js, Inngest
🗄 Database MongoDB
💳 Payments Stripe (with webhooks)
🔐 Auth Clerk
📬 Emails Inngest (background jobs + notifications)
🧪 Testing Postman, Manual UI testing
☁️ Deployment Vercel (frontend) + Render (backend)

📊 Admin Dashboard

Admins can :

  • View Total bookings
  • View Revenue stats
  • Add Latest Movie Shows
  • Delete Any Movie Show
  • Manage everthing related to Movie Ticket Booking

Admin Dashboard Screenshot

🧩 Folder Structure

CineBook/
├── client/              # React Frontend
│   ├── src/
│   └── public/
├── server/              # Node.js Backend
│   ├── controllers/
│   ├── models/
│   ├── routes/
│   ├── utils/
│   └── config/
├── .env
├── package.json
└── README.md

🧠 What I Learned

  • Implementing secure and scalable payment flows with Stripe
  • Managing real-time seat availability logic
  • Sending email notifications using background jobs (Inngest)
  • Deep dive into authentication flows with Clerk
  • Deploying frontend/backend in production with environment configs

Run Locally

Clone the project

  git clone https://link-to-project

Go to the project directory

  cd my-project

Install dependencies

  npm install

Start the server

  npm run start

🔐 Environment Variables

Create two .env files:

# server/.env
MONGO_URI=your_mongodb_url
CLERK_SECRET_KEY=your_clerk_secret
STRIPE_SECRET_KEY=your_stripe_secret
STRIPE_WEBHOOK_SECRET=your_webhook_secret
CLIENT_URL=http://localhost:3000

# client/.env
VITE_CLERK_PUBLISHABLE_KEY=your_clerk_publishable_key
VITE_API_URL=http://localhost:5000

🤝 Contributing

Contributions are welcome!

If you want to improve something or fix bugs, feel free to:

  • Fork the repo
  • Create a branch (git checkout -b feature/your-feature)
  • Commit your changes (git commit -m "Add your feature")
  • Push and create a PR

Please follow the Code of Conduct and Contributing Guide.

🙋‍♂️ Author

Krishna Gupta
🌐 Portfolio
💼 LinkedIn
📧 guptakrish1947@gmail.com

📜 License

This project is licensed under the MIT License.
Feel free to use, modify, and distribute.

⭐ Support

If you liked the project, please ⭐ the repository to show your support!

🙏 Acknowledgements

Clerk.dev – Auth

Stripe – Payments

Inngest – Background jobs

Vercel – Frontend Hosting

Render – Backend Hosting

About

A full-stack web application for browsing, selecting, and booking movie tickets with a seamless user experience. Features include secure authentication via Clerk, admin dashboard, real-time seat selection with a hold timer, Stripe payments, and automated email confirmations via Inngest.

Topics

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages