Movie DataBase_express.js

Este es un proyecto de una base de datos de películas, actores y directores desarrollado con Node.js, Express, Mongo Atlas y MongoDB. La aplicación permite realizar operaciones CRUD (Crear, Leer, Actualizar, Eliminar) en la base de datos y cuenta con funcionalidades para buscar películas, actores y directores por diferentes criterios.

Tecnologías utilizadas

  • Node.js
  • Express
  • MongoDB
  • Mongo Atlas

Instalación

  1. Clona el repositorio en tu computadora:
git clone https://github.com/ThePalmars1one/movieDataBase_express.js
  1. Entra al directorio del proyecto:
cd movieDataBase_express.js
  1. Instala las dependencias:
npm install
  1. Crea un archivo .env en la raíz del proyecto y agrega la cadena de conexión de tu base de datos de Mongo Atlas:
MONGO_URI=mongodb+srv://tu-usuario:tu-contraseña@tu-cluster.mongodb.net/tu-base-de-datos

Asegúrate de reemplazar tu-usuario, tu-contraseña, tu-cluster y tu-base-de-datos con los valores correspondientes.

  1. Inicia la aplicación:
npm run start
  1. Abre tu navegador y entra a http://localhost:9000 para acceder a la aplicación.

Funcionalidades

La aplicación cuenta con las siguientes funcionalidades:

  • Registro de películas, actores y directores en la base de datos.
  • Lectura de películas, actores y directores de la base de datos.
  • Actualización de películas, actores y directores en la base de datos.
  • Eliminación de películas, actores y directores de la base de datos.
  • Búsqueda de películas, actores y directores por nombre y apellido respectivamente.

Estructura del proyecto

La estructura del proyecto es la siguiente:

  1. Modelos

  1. Rutas
  • POST: Crear una pelicula

  • GET: Trae todas las peliculas

  • GET BY ID: Trae una pelicula por el ID

  • DELETE: Borra una pelicula por el ID

  • PUT: Actualiza una pelicula

Requests - peticiones

  • POST: Crea una pelicula con los parametros requeridos
###
POST http://localhost:9000/api/movies HTTP/1.1
Content-Type: application/json

{
    "mov_id": 5,
    "mov_title": "Avatar",
    "mov_year": 2005,
    "mov_time": 190,
    "mov_lang": "ENG",
    "mov_dt_rel": "09-12-2009",
    "mov_rel_country": "USA"
}
  • GET: Trae todas las peliculas que ya fueron creadas
###
GET http://localhost:9000/api/movies HTTP/1.1
  • GET BY ID: Trae una pelicula por su mov_id
###
GET http://localhost:9000/api/movies/2 HTTP/1.1
  • DELETE: Borra una pelicula por su mov_id
###
DELETE http://localhost:9000/api/movies/5 HTTP/1.1
  • PUT: Actualiza una pelicula
###
PUT http://localhost:9000/api/movies/2 HTTP/1.1
Content-Type: application/json

{
    "mov_id": 2,
    "mov_title": "Ant Man",
    "mov_year": 2023,
    "mov_time": 130,
    "mov_lang": "ENG",
    "mov_dt_rel": "16-02-2023",
    "mov_rel_country": "USA"
}

Documentación Endpoints

Aquí podras encontrar la documentación generada en Postman sobre los Endpoints utilizados en las siguients colecciones: Movies, Genres, Movie Genres, Reviewer y Rating, las cuales son replicadas en el resto de colecciones.

En la documentación podrás encontrar el ejemplo de la request y adicionalmente la response recibida.