Cine Magic is a web-based Cinema Ticket Booking System, offering a seamless and efficient experience for both cinema operators and customers. This web-based application is designed with state-of-the-art frontend and backend systems, utilizing cutting-edge technologies and tools to ensure a robust and secure platform.
- Browse Movies: Users can browse a list of currently showing movies.
- View Movie Details: Users can click on a movie to view its details, including synopsis, cast, and ratings.
- View Showtimes: Users can see available showtimes for a selected movie.
- Select Seats: Users can select their preferred seats for a show.
- Book Tickets: Users can book tickets for one or more seats and proceed to payment.
- User Authentication: Secure user authentication and registration system.
- Responsive Design: The system is responsive for mobile and desktop users.
The CINEMAGIC project is organized into three main components:
-
Client: This is the frontend of the application, providing a user-friendly interface for booking cinema tickets.
-
Admin: The admin panel for managing movie listings, showtimes, and user feedback.
-
Server: The backend server that handles user authentication, ticket booking, and database operations.
To get the "client," "admin," and "server" components into your local machine separately, follow the instructions below.
- Clone the repository into your local machine:
git clone https://github.com/DFanso/cine-magic-cinema.git
- Navigate to the "client" directory:
cd client
- Install dependencies:
npm install
- Start the client application:
npm start
- Clone the repository into your local machine:
git clone https://github.com/DFanso/cine-magic-cinema.git
- Navigate to the "admin" directory:
cd admin
- Install dependencies:
npm install
- Start the admin application:
npm start
- Clone the repository into your local machine:
git clone https://github.com/DFanso/cine-magic-cinema.git
- Navigate to the "server" directory:
cd server
- Install dependencies:
npm install
- Start the admin application:
npm start
- Frontend: React.js, Redux, HTML5, CSS3
- NestJS: A progressive Node.js framework for building efficient and scalable server-side applications.
- Express: A minimal and flexible Node.js web application framework that provides a robust set of features for web and mobile applications.
- MongoDB: A NoSQL database designed for high performance, high availability, and easy scalability.
- Mongoose: An elegant MongoDB object modeling tool designed to work in an asynchronous environment.
- JWT (JSON Web Tokens): A compact, URL-safe means of representing claims to be transferred between two parties.
- Web Socket: Enables real-time, bidirectional and event-based communication between the browser and the server.
- Email Integration: Using Gmail SMTP for reliable email delivery.
- .hbs (Handlebars): A simple templating language used for creating email templates.
- PayPal Sandbox: A test environment that provides a safe space for testing the payment integration without involving real money.
- RestAPIs: Architectural style for designing networked applications.
- Swagger: A tool for documenting APIs in a precise, readable, and user-friendly format.
- NodeCron: A task scheduler in Node.js using full cron syntax for running scheduled jobs.
- Jest: A delightful JavaScript Testing Framework with a focus on simplicity.
- OMDB API: Used for fetching movie data to enrich the application's content.
- Docker: A platform for developing, shipping, and running applications in containers.
- GitHub Actions: Automates workflows, CI/CD, testing, and deployment.
- ChatGPT: Leveraged for adding conversational AI capabilities.
- Git: For tracking changes in the source code during software development.
- If you have any questions or need further assistance, please feel free to contact us.