Skip to content

jeadamek/rocketMovies_backend

Folders and files

NameName
Last commit message
Last commit date

Latest commit

ย 

History

24 Commits
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 

Repository files navigation

๐Ÿš€ Project 20 | Stage 08 - Explorer

โœ๏ธ About

This project was developed on Stage 8 in the Explorer course at the Rocketseat School. To access the entire course assignments click this link.

In this project, the challenge was to build an API using Node.js, this is part of a larger application that will be developed in the next two stages of the course.

A database for movie ratings was developed. Tools such as SQLite, Beekeeper Studio, and Query Builder Knex.js were used for this.

I could practice and study:

  • API REST built in NodeJS e ExpressJS;
  • SQLite database to save the data;
  • Tool Beekeeper Studio;
  • Query Builder with Knex.js;
  • PM2 Advanced process manager for production Node.js applications;
  • JWT with jsonwebtoken;
  • Node.js middleware for handling multipart/form data;
  • Promises with Async Await;
  • Protect sensitive data;
  • Classes and events;
  • Inheritance and Polymorphism;
  • Route mapping;
  • Insomnia to register routes and check status codes;
  • Asynchronous and promises;
  • Object orientation;
  • Callbacks Functions;
  • ES6 Modules;

The database diagram can be seen in the image below:

preview

๐Ÿ› ๏ธ Technologies


JavaScript

Nodejs

SQLITE

Git


โœจ Features

This API allows for CRUD (Create, Read, Update, Delete) operations on movie ratings data. Users can add new ratings, retrieve existing ratings, update ratings, and delete ratings.

๐Ÿš€ Getting started

Programs to be installed on your system:

Clone the project and access the project's folder:

$ git clone [email protected]:jeadamek/rocketMovies_backend.git
$ cd rocketMovies_backend

Install server and run the project

$ cd rocket-movies-api
$ npm install
$ npm run dev

PORT Server localhost:3333


๐Ÿ’ป Usage

Once the API is running, users can interact with the movie ratings database by making requests to the following endpoints:

GET /ratings: Retrieve a list of all movie ratings

POST /ratings: Add a new movie rating

GET /ratings/:id: Retrieve a single movie rating by ID

DELETE /ratings/:id: Delete a movie rating by ID

POST /users: Create a new user

PUT /users/:id: Update user's information

PATCH /users/avatar Upload user's avatar image

GET /tags: Retrieve a list of all movie tags

๐Ÿ“ License

This project is under the MIT license. See the file LICENSE for more details.

๐ŸŽฏ Author

Made by Jessica Adamek. Connect with me!