Skip to content

API basada en la arquitectura REST, la cual permitirá a los usuarios listar sus películas favoritas, desarrollada con Django Rest Framework.

License

Notifications You must be signed in to change notification settings

AndresSilverall/movies-api

Repository files navigation

Movies API REST

API basada en la arquitectura REST, la cual permite listar diferentes películas, agregar reseñas y almacenar las películas favoritas del usuario. La API cuenta con un sistema de autenticación (Registro, login, logout y restablecimiento de contraseñas), además otorga diferentes permisos a los usuarios para acceder a los endpoints, desarrollada con Django Rest Framework.

Tecnologías usadas

  • Python versión 3.8.5
  • Django rest framework versión 3.14.0
  • IDE (Visual studio code)
  • GIT versión 2.37.2.windows.2

Instalación

  1. Clona este repositorio: https://github.com/AndresSilverall/movies-api.git
  2. Navega a la carpeta del proyecto: cd movies-api
  3. Ejecuta un entorno virtual de Python para la ejecución de la API

Instalar un entorno virtual en Python

  • Instalar desde el gestor de paquetes de Python: pip install pipenv.
  • Crear un entorno virtual: pipenv install.
  • Una vez ya creado el entorno virtual con pipenv install se instalará todas las dependencias necesarias para la API alojadas en el archivo Pipfile.
  • Activar entorno virtual: pipenv shell.
  • Para salir del entorno virtual: exit.
  1. Ejecuta el servidor de desarrollo: python manage.py runserver
  2. Abre tu navegador y ve al siguiente endpoint: http://127.0.0.1:8000/api/movies

Atajos de comandos dentro del entorno virtual

server = "python manage.py runserver 127.0.0.1:8000"
make = "python manage.py makemigrations"
migrate = "python manage.py migrate"
test = "python manage.py test"
  • Ejecutar servidor pipenv run server
  • Realizar migraciones de los modelos pipenv run make
  • Migrar modelos pipenv run migrate
  • Ejecutar pruebas de software con Unit testing pipenv run test

Documentación de la API REST

La Documentación de la API se implementó con Swagger, para acceder a la documentación acceda al siguiente recurso: /api/doc/ una vez levantado el servidor.

Métodos HTTP establecidos para los endpoints


Método Descripción
GET Obtener todas las películas almacenadas en la BD.
GET Obtener detalles de una película.
GET Obtener las reseñas de las películas.
POST Agregar una nueva película a la BD.
POST Agregar reseñas a diferentes películas.
POST Agregar película favorita.
POST Registro de usuario.
POST Login de usuario.
POST Cambiar contraseña.
POST Cerrar sesión.
PUT Actualizar los detalles de una película.
DELETE Eliminar una película con la ID (Primary key).

Demo de la API desde Swagger

Obtener todas las películas almacenadas en la BD

Endpoint: /api/movies/

get_all_movies

Obtener detalles de una película en específico

Endpoint: /api/movie/detail/6

get_movie_detail

Eliminar una película en específico (autenticación requerida)

Endpoint: /api/delete/movie/2

Sin autenticación

delete_movie

Con autenticación

Endpoint: /api/delete/movie/2

delete_movie_authenticated

Demo de la API Desde la interfaz de Django rest framework

Agregar película

Endpoint: /api/add/movie/

add_movie

Actualizar película

Endpoint: /api/update/movie/3

update_movie

Agregar reseña a película

Endpoint: /api/review/movie/

review_movie

Autenticación para acceder a los endpoints

Registro de usuario

Endpoint: /api/register/

api_register

Login de usuario

Endpoint: /api/login/

login

Cambiar contraseña

Endpoint: /api/changepassword/

change_password

Logout

Endpoint: /api/logout/

logout

About

API basada en la arquitectura REST, la cual permitirá a los usuarios listar sus películas favoritas, desarrollada con Django Rest Framework.

Topics

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages