A comprehensive web application for exploring Academy Awards data, built with Node.js, Express, and MySQL. This project provides an interactive platform for viewing Oscar nominations, discovering statistics about winners, and creating dream teams of award-winning filmmakers.
Visit the live site at: https://db-the-oscars-site.onrender.com/
- User Authentication: Secure login and registration system
- Nomination Management: Add and view Oscar nominations
- Statistics Dashboard: View detailed statistics about Oscar winners
- Dream Team Builder: Create your ideal team of Oscar-winning filmmakers
- Search Functionality: Search for movies, people, and nominations
- Filtering Options: Filter nominations by year, category, and more
Simply visit https://db-the-oscars-site.onrender.com/ to explore the application.
- Create a MySQL database
- Use the provided schema in
prisma/schema.prisma - Import the required data using one of these methods:
- Use the data scraper at https://github.com/yomnahisham/py-academy-awards-wiki-scrape
- Import your own Academy Awards data following the schema structure
- Clone the repository
- Install dependencies:
npm install - Set up environment variables:
- Copy
.env.exampleto.env - Update the following variables in
.env:DATABASE_URL="mysql://user:password@localhost:3306/database_name" PORT=3000 NODE_ENV=development SESSION_SECRET="your_session_secret_here"
- Copy
- Run database migrations:
npx prisma migrate dev - Start the server:
node server.js
- Backend: Node.js, Express
- Database: MySQL
- ORM: Prisma
- Frontend: HTML, CSS, JavaScript
- Authentication: JWT
The application uses a relational database with the following main entities:
- Movies
- People (actors, directors, etc.)
- Nominations
- Categories
- Production Companies
- Countries
- Languages
/api/nominations: Manage nominations/api/statistics: Access Oscar statistics/api/dream-team: Create dream teams/api/movies: Movie-related operations/api/people: People-related operations
- Never commit the
.envfile to version control - Keep your database credentials secure
- Use strong session secrets in production
- Regularly update dependencies for security patches
Feel free to submit issues and enhancement requests!
This project is licensed under the MIT License - see the LICENSE file for details.
This project was done for CSCE2501 (Fundamentals of Database Managment Systems) Course Project