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.
- 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
- Clona este repositorio:
https://github.com/AndresSilverall/movies-api.git
- Navega a la carpeta del proyecto:
cd movies-api
- Ejecuta un entorno virtual de Python para la ejecución de la API
- 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 archivoPipfile
. - Activar entorno virtual:
pipenv shell
. - Para salir del entorno virtual:
exit
.
- Ejecuta el servidor de desarrollo:
python manage.py runserver
- Abre tu navegador y ve al siguiente endpoint:
http://127.0.0.1:8000/api/movies
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
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é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). |
Endpoint: /api/movies/
Endpoint: /api/movie/detail/6
Endpoint: /api/delete/movie/2
Endpoint: /api/delete/movie/2
Endpoint: /api/add/movie/
Endpoint: /api/update/movie/3
Endpoint: /api/review/movie/
Endpoint: /api/register/
Endpoint: /api/login/
Endpoint: /api/changepassword/
Endpoint: /api/logout/