Skip to content

A full-stack MERN application that allows users to rate their favorite (or least favorite) tv shows.

Notifications You must be signed in to change notification settings

joekgilberto/rabbt-ears

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

139 Commits
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Rabbt Ears

A full-stack MERN application that allows users to read up on their favorite tv shows and review them! Utilizes a React frontend with a Redux library, making Axios API calls to the TVMaze API, and an Express.js and Node.js backend interacting with a MongoDB database structured by Mongoose schemas. Built by Joe Gilberto.

Deployment

Not currently deployed.

Screenshots

Home

Home As a user, I want to land on an informational home page when I visit the application.

Feed

Feed As a user, I want to be able to see all recent reviews and get suggested new shows to review.

Show Review

Review As a user, I want to be able to read a review when I navigate to its details page. If I'm the owner, I want to be able to edit or delete a review.

Edit Review

Edit As a user, I want to be able to edit a review if I'm the owner.

Show TV Show

Show As a user, I want to be able to read more about a show when I navigate to its details page, all its reviews, its average score, and the option to review it.

New Review

New As a user, I want to be able to review a show.

Auth

Auth As a user, I want to be able to login or register for more utlities and personalized data.

Profile

Profile As a user, I want to be able to view a profile, mine or others, and see that user's favorite shows and reviews.

Technologies Used

Rabbt Ears is a MERN stack application. In employs a React frontend with a Redux library that interacts with a third-party TVMaze API and a Node.js backend with a Express.js framework. The backend interacts with a MongoDB database structured by Mongoose schemas.

Attributions and Acknowledgements

Below are specific relevant resources I referenced while building this application.

Instructions for Local Deployment

The following instructions were used through macOS with a silicone M1 chip.

Fork and clone

To deploy locally, fork and clone this repo. Then, using the terminal, navigate into the backend directory.

Install backend dependencies

Install backend dependencies by running:

npm i

Create a database

Then, create a MongoDB database and retrieve your connection string through the drivers option.

Create backend environmental variables

Still in the backend directory, create an env file:

touch .env

Within that .env file, add that connection string to a DATABASE_URI vairable, a PORT variable with a port number for your backend to run on and for your frontend to connect to, and a JWT_SECRET vairable of your choosing:

DATABASE_URI='<connection string>
PORT=<a number, typically 4000>
JWT_SECRET='<your secret>'

Spin up backend server

For the final step of your backend set up, spin up the server with the following command:

 nodemon

Install frontend dependencies

For the first step of your frontend set up, navigate into your frontend directory via your terminal and install your dependencies.

npm i

Create frontend environmental variables

Next, create your environmental variables:

touch .env.local

Then, add your database environmental variables to interact with your backend (running on localhost at the PORT defined in your backend .env):

REACT_APP_REVIEWS_API_URL=<PORT>/reviews/
REACT_APP_AUTH_API_URL=<PORT>/auth/
REACT_APP_TVMAZE_API_URL=https://api.tvmaze.com/shows/
REACT_APP_TVMAZE_SEARCH_URL=https://api.tvmaze.com/search/shows?q=

Spin up your frontend server

Finally, while still in your frontend directory, spin up your front server:

npm start

Browse

Now, you can go to localhost:3000 in your browser (Google Chrome is reccommended for best performance) and browse the application.

Current User Flow

Land on our colorful homepage and login or dive right into our feed. From there, you can click on exisiting reviews or look into some suggested shows. Use the searchbar at the top to browse a wide range of television shows. Login (or sign up) to start sharing your own opinions! You even have a personal user pages to view your favorite shows, recent reviews, and Rabbt Ears reviewer status!

Future Features

Features to be added in further edits:

  • Adding comments for reviews
  • Adding a want to watch list for users

About

A full-stack MERN application that allows users to rate their favorite (or least favorite) tv shows.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published