https://github.com/avanegasp/flask-rest-api-starwars
Este proyecto consiste en desarrollar una API REST que administra un blog de StarWars, donde los usuarios pueden listar personajes y planetas, así como agregar o eliminar favoritos. La API está diseñada siguiendo principios RESTful y está conectada a una base de datos, lo que permite manejar datos dinámicos como personajes, planetas y usuarios.
https://github.com/avanegasp/flask-rest-api-starwars
postman python3 restful-api sqlalchemy
Last synced: 10 months ago
JSON representation
Este proyecto consiste en desarrollar una API REST que administra un blog de StarWars, donde los usuarios pueden listar personajes y planetas, así como agregar o eliminar favoritos. La API está diseñada siguiendo principios RESTful y está conectada a una base de datos, lo que permite manejar datos dinámicos como personajes, planetas y usuarios.
- Host: GitHub
- URL: https://github.com/avanegasp/flask-rest-api-starwars
- Owner: avanegasp
- Created: 2024-07-24T22:46:07.000Z (over 1 year ago)
- Default Branch: main
- Last Pushed: 2024-10-31T16:14:11.000Z (over 1 year ago)
- Last Synced: 2024-10-31T17:21:07.962Z (over 1 year ago)
- Topics: postman, python3, restful-api, sqlalchemy
- Language: Python
- Homepage:
- Size: 17.3 MB
- Stars: 1
- Watchers: 1
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- Changelog: CHANGE_LOG.md
Awesome Lists containing this project
README
# Build a StarWars REST API
Este proyecto consiste en desarrollar una API REST que administra un blog de StarWars, donde los usuarios pueden listar personajes y planetas, así como agregar o eliminar favoritos. La API está diseñada siguiendo principios RESTful y está conectada a una base de datos, lo que permite manejar datos dinámicos como personajes, planetas y usuarios.
## Tecnologías Utilizadas
- **Backend:** Python (Flask)
- **ORM:** SQLAlchemy para la interacción con la base de datos
- **Base de Datos:** PostgreSQL
- **Pruebas de API:** Postman
## Características del Proyecto
Endpoints Implementados
### Personajes (People)
- [GET] /people - Listar todos los personajes.
- [GET] /people/ - Obtener información de un personaje específico.
### Planetas (Planets)
- [GET] /planets - Listar todos los planetas.
- [GET] /planets/ - Obtener información de un planeta específico.
### Usuarios (Users)
- [GET] /users - Listar todos los usuarios registrados.
- [GET] /users/favorites - Listar todos los favoritos del usuario actual.
### Favoritos (Favorites)
- [POST] /favorite/planet/ - Añadir un planeta a favoritos del usuario.
- [POST] /favorite/people/ - Añadir un personaje a favoritos del usuario.
- [DELETE] /favorite/planet/ - Eliminar un planeta de favoritos.
- [DELETE] /favorite/people/ - Eliminar un personaje de favoritos.
## Funcionalidades Adicionales
- Modelado de base de datos utilizando SQLAlchemy.
- Sistema de migraciones de base de datos con Alembic (Flask).
- Soporte para CRUD completo para los modelos de datos, permitiendo la administración completa del contenido a través de la API.
## Pruebas y Validación
Se utilizan herramientas como Postman para probar y validar todos los endpoints de la API, asegurando que cada operación cumpla con las especificaciones y el manejo adecuado de errores.
## Mejora Continua
Se recomienda extender el proyecto agregando endpoints adicionales para crear, modificar y eliminar personajes y planetas, proporcionando una gestión completa de la base de datos a través de la API.
## Cómo Comenzar
Utiliza el boilerplate para Flask REST como punto de partida.
Configura la base de datos localmente o utiliza un entorno de desarrollo como Gitpod.