NovaCinema is a production-ready Movie Ticket Booking Web Application built using the MERN Stack (MongoDB, Express.js, React.js, Node.js). The platform allows users to browse movies, select showtimes, book seats in real time, and complete secure payments β similar to modern cinema booking platforms.
novacinema-booking.vercel.app
NovaCinema is a complete full-stack system consisting of:
- π¨ User Frontend (React App)
- βοΈ Backend API (Node.js + Express)
- π Admin Dashboard
Each part works together to deliver a seamless booking experience.
- Responsive movie listing page
- Detailed movie information pages (cast, trailer, rating, description)
- Theater & showtime selection
- Interactive real-time seat booking UI
- Premium & normal seat pricing logic
- Secure login & signup system
- Protected routes for authenticated users
- Smooth animations & modern UI flows
-
Structured REST API for:
- Movies
- Theaters
- Shows
- Bookings
-
Seat availability & booking validation logic
-
Seat locking during checkout
-
JWT Authentication
-
Role-based access control (User / Admin)
-
Payment integration (Stripe demo)
-
Cloudinary integration for poster uploads
-
Deployment-ready backend architecture
- React.js
- Tailwind CSS
- Axios
- React Router
- Node.js
- Express.js
- MongoDB + Mongoose
- JWT Authentication
- Stripe Payment Integration
- Cloudinary (Image Uploads)
- Search movies by name, genre, language, or date
- Detailed movie pages with full metadata
- Theaters grouped by location
- Showtimes grouped by date & time
- Interactive seat selection layout
- Real-time availability checks
- Dynamic pricing logic
- Seat locking during payment process
- Stripe card payment integration (demo)
- Booking confirmation with transaction ID
- Add / Delete movies
- Upload posters
- Manage theaters & screens
- Add / Delete showtimes
- View booking analytics
git clone https://github.com/your-username/novacinema.git
cd novacinemaInstall dependencies in each folder:
cd backend && npm install
cd ../frontend && npm install
cd ../admin && npm installEach subfolder requires its own .env file.
MONGODB_URL=your_mongodb_url
PORT=5000
STRIPE_SECRET_KEY=your_stripe_secret
JWT_SECRET=your_jwt_secret
CLOUDINARY_CLOUD_NAME=your_cloud_name
CLOUDINARY_API_KEY=your_api_key
CLOUDINARY_API_SECRET=your_api_secret
npm run devnovacinema/
βββ backend/
βββ frontend/
βββ admin/
βββ README.md
- Full MERN stack workflow
- Authentication & authorization systems
- Real-time booking logic implementation
- API development & frontend integration
- Production-ready deployment structure
Contributions are welcome.
- Fork the repository
- Create a new branch
- Commit your changes
- Open a Pull Request
MIT License
Emmanuel Gema Kimani (M-tech-cmd) Full Stack Developer β’ MERN Stack Engineer β’ Backend Enthusiast












