An open API service indexing awesome lists of open source software.

https://github.com/kartiktoogoated/showtime

A backend system for a movie reservation service with user authentication, movie management, and seat reservation functionality.
https://github.com/kartiktoogoated/showtime

api-development backend express mongodb movie-reservation nodejs

Last synced: 9 months ago
JSON representation

A backend system for a movie reservation service with user authentication, movie management, and seat reservation functionality.

Awesome Lists containing this project

README

          

๐ŸŽฌ ShowTime - Movie Booking System
==================================

**ShowTime** is a full-featured movie ticket booking platform with a sleek UI, smart backend, and an AI-powered recommendation chatbot that suggests movies based on your mood! ๐Ÿค–๐Ÿฟ

* * * * *

๐Ÿ“Œ Overview
-----------

**๐ŸŽจ Frontend (Client)**\
๐Ÿ›  Built with **React (Vite)** and **TypeScript**\
๐Ÿ–ผ User-friendly UI for browsing movies and booking tickets\
๐Ÿง  Mood-based movie recommendations via chatbot\
๐Ÿ“ฑ Responsive for all screen sizes

**๐Ÿง  Backend (Server)**\
๐Ÿš€ Built with **Node.js**, **Express**, and **TypeScript**\
๐Ÿ—ƒ Uses **Prisma ORM** with a PostgreSQL database\
๐Ÿ“ค Sends real-time email & SMS notifications (Nodemailer, Twilio)\
๐Ÿง  Integrates sentiment analysis for mood detection\
๐Ÿ” REST API with scalable architecture

* * * * *

โœจ Features
----------

- ๐ŸŽฅ Movie listings with filtering and details

- ๐Ÿช‘ Seat selection & ticket booking

- ๐Ÿ“ง Email & ๐Ÿ“ฑ SMS notifications for confirmation

- ๐Ÿค– AI-powered mood-based movie recommendations

- ๐Ÿ“Š Trending movies suggestions

- ๐Ÿ”’ User authentication (JWT/session)

- โš™๏ธ Docker support for deployment

- ๐Ÿ“ˆ Admin panel for managing movies (coming soon!)

* * * * *

๐Ÿ“‚ Folder Structure
-------------------
![image](https://github.com/user-attachments/assets/fe9c3c18-1667-45d8-bfed-8f58892f7316)

* * * * *

๐Ÿš€ Upcoming Enhancements
------------------------

- ๐Ÿ’ณ Payment gateway integration (Razorpay / Stripe)

- ๐Ÿ“ฑ Mobile app (React Native / Flutter)

- ๐Ÿ‘ค Admin & role-based access control

- ๐ŸŒƒ Dark mode support

- โญ User ratings & reviews

* * * * *

โ˜๏ธ Deployment
-------------

- ๐Ÿง‘โ€๐Ÿ’ป Frontend: AWS S3

- ๐ŸŒ Backend: AWS EC2 (Dockerized)

- ๐Ÿ—„๏ธ Database: PostgreSQL on Railway/Supabase/RDS

* * * * *

๐Ÿงช How to Run Locally
---------------------

1. ๐Ÿ” **Clone the repo**\
`git clone https://github.com/kartiktoogoated/ShowTime`

2. ๐Ÿ“ฆ **Install dependencies**

- `cd client && npm install`

- `cd ../server && npm install`

3. ๐Ÿงฑ **Set up database**\
`npx prisma generate && npx prisma migrate dev`

4. ๐Ÿ”ฅ **Run both servers**

- Frontend: `npm run dev` inside `client`

- Backend: `npm run dev` inside `server`

* * * * *

๐Ÿค Contributing
---------------

Pull requests are welcome! Feel free to suggest features, report bugs, or open issues ๐Ÿ’ก