CINOX is a full-stack web application for modern cinema ticket booking. It provides an intuitive interface for users to browse movies, select shows, book seats, and make secure payments. The system includes a comprehensive admin dashboard for managing all aspects of the cinema operation.
- React.js 19.0.0
- TailwindCSS 4.1.3
- Framer Motion for animations
- React Router for navigation
- Axios for API calls
- React Toastify for notifications
- Java 21
- Spring Boot 3.4.4
- MySQL Database
- JPA for data persistence
- Razorpay payment integration
-
Authentication
- User registration and login
- Role-based access control
-
Movie Browsing
- View now showing movies
- Search and filter movies
- View movie details and trailers
- Dark/Light theme support
-
Booking System
- Interactive seat selection
- Real-time seat availability
- Secure payment via Razorpay
- Booking confirmation
- Booking history
-
Dashboard
- Comprehensive management interface
- Analytics and reports
- User management
- Booking management
-
Content Management
- Movie CRUD operations
- Show scheduling
- Theater management
- Screen configuration
- City management
- Node.js (v18 or higher)
- Java JDK 21
- MySQL 8.0 or higher
- Maven 3.x
-
Configure MySQL database:
CREATE DATABASE cinox;
-
Update application.properties with your database credentials:
spring.datasource.url=jdbc:mysql://localhost:3306/cinox spring.datasource.username=your_username spring.datasource.password=your_password
-
Build and run the backend:
cd backend ./mvnw spring-boot:run
-
Install dependencies:
cd frontend npm install
-
Start development server:
npm run dev
-
Access the application at http://localhost:5173
- POST /api/auth/register - User registration
- POST /api/auth/login - User login
- GET /api/movie/ - List all movies
- POST /api/movie/add - Add new movie
- GET /api/movie/{id} - Get movie details
- PUT /api/movie/edit - Update movie
- DELETE /api/movie/delete/{id} - Delete movie
- POST /api/booking/add - Create booking
- GET /api/booking/ - List all bookings
- GET /api/booking/{id} - Get booking details
- POST /api/payment/confirm - Confirm payment
- Fork the repository
- Create your feature branch
- Commit your changes
- Push to the branch
- Create a new Pull Request
This project is licensed under the MIT License - see the LICENSE file for details.