Skip to content

JesseCh3n/entertainment_review

Repository files navigation

Entertainment Review badge License: MIT

Table of Contents

Description

In our second bootcamp project our team decided to build a website for reviewing Games, Movies and TV shows.

We have fleshed out our ideas on our initial brainstorming session and seetled on creating a website for reviewing entertainment media (Games, Movies and Tvshows)

We have decided to work on different components of our projects.

  • Team-Head Jesse Chen is responsible for the front-end, functionalities and debugging.
  • Team-Member Renny Mwangi is responsible for creating the routes and debugging.
  • Team-Member Mohammed Arshad is responsible for creating the database,seeds and relations.
  • Team-Member Tanya Du has contributed to the database.

Along our way we have encountered few challenges in achieving our goals. Some of the challenges are as follows:

  • We had no prior knowledge of full stack development.
  • There is a substantial amount of documentation to refer when working with 3rd party packages like Sequelize and Handlebars.
  • We have encountered few issues because the front-end and back-end did not line up at the beginning of the project.
  • Modification to the database, were made during the midway of the project.
  • We had difficulties in setting up Tailwind and Flowbite.

Welcome to our Entertainment Review Platform, the ultimate destination for movie, game, and TV show enthusiasts to discover, review, and discuss their favorite entertainment experiences!

About Us

Our platform is dedicated to providing a comprehensive and user-friendly space for entertainment lovers to come together, share their thoughts, and explore a wide range of media content. Whether you're passionate about movies, games, or TV shows, our platform has you covered.

Key Features

1. Diverse Entertainment Categories

Explore a vast library of content across different categories:

  • Movies: Dive into the world of cinema with reviews, ratings, and discussions about the latest releases and timeless classics.

  • Games: Unleash your inner gamer by discovering new games, sharing gameplay experiences, and discussing strategies and updates.

  • TV Shows: Stay up-to-date with your favorite TV series, share episode reviews, and engage in conversations with fellow fans.

2. User Reviews and Ratings

Get real insights from our vibrant community of reviewers. Read and write detailed reviews, rate your favorite entertainment titles, and express your opinions on what's hot and what's not.

3. Personalized Recommendations

Our platform leverages advanced algorithms to recommend content tailored to your preferences. Discover hidden gems and new releases that match your tastes.

4. Community Engagement

Connect with like-minded entertainment enthusiasts, join discussions, and participate in polls, debates, and challenges. Engage with fellow users who share your passion for entertainment.

5. User-Friendly Interface

Navigate our platform with ease. Our intuitive and responsive design ensures a seamless browsing experience on both desktop and mobile devices.

6. Upcoming Releases

Stay in the loop with our curated list of upcoming movies, games, and TV shows. Plan your entertainment journey and set reminders for release dates.

Join Our Community

Whether you're a cinephile, a dedicated gamer, or a TV show fanatic, our Entertainment Review Platform is your hub for all things entertainment. Join our community today to share, discover, and discuss your favorite movies, games, and TV shows!

Image

Technologies Used

NodeJS Express.js JavaScript MySQL Sequelize Nodemon Tailwind Flowbite Insomnia

  • Dependencies: sequelize (v5.22.5), mysql2 (v2.3.3), express (v4.17.1), dotenv (v8.6.0), nodemon (v2.0.3)
  • Testing: Insomnia

Why is this significant?

We consume entertainment media for various reasons which also includes emotional, social and psychological reasons

Reviewing an entertainment media can be beneficial to both the consumers and creators. For consumers it can provide value for money and time. Whereas, for creators it can provide insight for improvement and engagement.

Installation

npm connect session sequelize dotenv express express handlebars express sessions flowbite mysql2 sequelize tailwindcss

  1. Clone the repository: git clone https://github.com/JesseCh3n/entertainment_review.git

  2. Open in VS Code. If not installed, install VS Code.

  3. Install Node.js v16 (e.g., using npm: npm i node@16).

  4. Install from package.json: npm i

  5. To install dependencies independently:

    • bcrypt: npm i bcrypt@5.0.0
    • connect-session-sequelize: npm i connect-session-sequelize@7.0.4
    • dotenv: npm i dotenv@8.2.0
    • express: npm i express@4.17.1
    • express-handlebars: npm i express-handlebars@5.2.0
    • express-session: npm i express-session@1.17.1
    • flowbite: npm i flowbite@1.8.1
    • mysql2: npm i mysql2@2.2.5
    • sequelize: npm i sequelize@6.3.5
    • tailwindcss: npm i tailwindcss@3.3.3

    Dev Dependencies:

    • eslint: npm i eslint@7.12.1
    • eslint-config-prettier: npm i eslint-config-prettier@6.15.0
    • prettier: npm i prettier@2.1.2
    • tailwindcss: npm i tailwindcss@3.3.3
  6. Create a .env file in the project root directory to store your environment variables. This file should contain sensitive information like database credentials and API keys. Here's an example .env file:

    # .env
    DB_USER=
    DB_PASSWORD=
    DB_NAME=
    SESSION_SECRET=
    

Database Setup

If you don't have a MySQL account, create one.

  1. Navigate to the db directory containing the schema.sql file.
  2. Open a MySQL shell: mysql -u root -p (enter your password when prompted).
  3. Inside the MySQL shell, run: source schema.sql to create the database.

Seeding

  1. Navigate to the root directory of the repository.
  2. Run: npm run seed to seed the database and create table structures.

Now your database is populated with initial data and ready for testing.

Starting the Server

  1. With the terminal open in the root directory, run: npm start to start the server.
  2. The server will start, and you'll see a message indicating that it's running.
  3. After starting the application, you can initialize Tailwind CSS by running the following command in a separate terminal:
    • npm run tailwind
    • make sure that both npm start and tailwind are running concurrently
  4. The application should now be running at http://localhost:3001 by default.

License

Copyright © 2023 Jesse Chen,Renny Mwangi,Mohammed Arshad,Tanya Du

Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the “Software”), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions:

The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software.

THE SOFTWARE IS PROVIDED “AS IS”, WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.

Contribution Guidelines

1. Familiarize yourself with MIT license terms
2. Clone the project's repository to your local machine.
3. Create a seperate branch of your work.
4. Develop well-structured and well-documented code.
5. Run tests to ensure your changes work.
6. License your contributions under the terms of the MIT License.
7. Be respectful and collaborative in discussions.

Links

badge badge

Github Repository

Heroku application

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published