CMPE-202-1 Class Project - End-to-End Movie Theater Application
Due: December 1, 2023
Team Alpha's comprehensive Movie Theater Club application - a full-stack solution for managing multiplex theaters across multiple locations. This system provides end-to-end functionality for movie ticket booking, theater management, and user administration.
The application is built with a modern tech stack featuring:
- Frontend: React.js with Tailwind CSS
- Backend: Python Flask with RESTful API
- Database: MySQL with Redis caching
- Authentication: Server-side session tokens with cookies
- Movie browsing and scheduling
- Ticket booking with online service fees ($1.50 per ticket)
- Membership management (Regular/Premium)
- User dashboard and purchase history
- Profile management
- Multi-location multiplex support
- Screen and seat management
- Movie scheduling and showtime configuration
- Seat occupancy tracking
- Discount pricing configuration
- Employee dashboard
- Theater addition and configuration
- Movie management (add/cancel)
- Seat occupancy modifications
- User management and analytics
Member | Role | Key Contributions |
---|---|---|
Yifu Fang | Project Architect | Frontend/backend architecture, Dashboard implementation, API integration, Tailwind design improvements |
Jiajun Dai | Core Developer | Book Tickets system, Employee scheduling, Database mock data, Film schedules |
Anthony Zunino | Backend Developer | Authentication system, Session management, User queries, Scrum meeting coordination |
Jena Kelbessa | Frontend Developer | User authentication, Login page skeleton, Architecture logistics |
- Python 3.8+
- Node.js 16+
- MySQL Server
- Redis Server
- Git
-
Navigate to backend directory:
cd backend
-
Create and activate virtual environment:
python -m venv venv # Windows .\venv\Scripts\activate # macOS/Linux source venv/bin/activate
-
Install dependencies:
pip install -r requirements.txt
-
Configure database:
- Update
config.py
with your MySQL credentials:
self.config['MYSQL_USER'] = 'your_username' self.config['MYSQL_PASSWORD'] = 'your_password'
- Update
-
Start the backend server:
python app.py
-
Navigate to frontend directory:
cd frontend
-
Install dependencies:
npm install
-
Start the development server:
npm start
/
- Homepage with current movie schedule/membership
- Membership options and purchase/book-tickets
- Movie ticket booking system/about-us
- Theater locations and information
/auth/login
- User/admin login/auth/sign-up
- User registration
/dashboard
- User/employee dashboard (role-based access)
Note: Frontend successfully deployed to cloud, backend deployment encountered issues
# Generate requirements.txt from current environment
pip freeze > requirements.txt
# Deactivate virtual environment
deactivate
# Install new dependencies
npm install package-name
# Build for production
npm run build
teamproject-team-alpha-1/
βββ backend/ # Flask backend application
β βββ controllers/ # Business logic controllers
β βββ models/ # Database models
β βββ routes/ # API endpoints
β βββ config.py # Configuration settings
βββ frontend/ # React frontend application
β βββ components/ # Reusable UI components
β βββ pages/ # Application pages
β βββ src/ # Source code
βββ Diagrams/ # System diagrams and wireframes
βββ Documentation/ # Project documentation
- GitHub Repository: teamproject-team-alpha-1
- Project Journal: TeamAlphaProjectJournal.pdf
- Course Syllabus: CMPE-202-1
- Team Information: Google Sheets
- Instructor: Gopinath Vinodh
- Classroom: ENG 325
- Course: CMPE-202-1
- Project Type: End-to-End Application Development
This project was developed as part of CMPE-202-1 coursework. For questions or contributions, please contact the team members listed above.
This project is developed for educational purposes as part of San Jose State University's CMPE-202-1 course requirements.
Team Alpha - Building the future of movie theater management, one ticket at a time! π¬β¨