¡Bienvenid@s! Ya se puede desplegar la api en un entorno local (venv) en caso de necesitarlo (el despliegue con Docker continúa en configuración). En esta API Characters se encontrarán:
-
API Documentada y Estructurada
- Se eligió FastAPI por su velocidad, eficiencia y su documentación automática.
- Documentación Swagger: http://localhost:8000/docs
- La documentación proporciona uno de los entornos donde puede testear los endpoints.
-
Tres de los métodos CRUD
- Endpoints para Crear, Leer y Eliminar personajes en la base de datos.
-
Base de Datos Integrada
- Usa SQLite y el archivo
characters.dbincluido. No requiere configuración adicional.
- Usa SQLite y el archivo
-
Complemento Back Office
- GUI realizado en Streamlit para realizar las operaciones CRUD.
-
Fácil Configuración
- Soporte para correr con Docker (en progreso) o con entorno virtual (
venv).
- Soporte para correr con Docker (en progreso) o con entorno virtual (
-
Colección de Postman Incluida
- Colección Postman con los endpoints creados (
PI-challenge.postman_collection.json).
- Colección Postman con los endpoints creados (
-
Buenas Prácticas
- Validaciones con Pydantic, arquitectura escalable y modular con routers en FastAPI.
-
Antes de comenzar, es fundamental clonar el repositorio:
- HTTPS
git clone https://github.com/rodrigoasis87/pi-challenge.git - SSH
git clone git@github.com:rodrigoasis87/pi-challenge.git - Ir al repositorio
cd pi-challenge
- HTTPS
-
Asegúrate de tener Docker y Docker Compose instalados
-
Construye y levanta los contenedores con Docker Compose:
docker-compose up --build
-
Asegúrate de tener Python y pip instalados
python -m venv venv source venv/bin/activate # Linux/MacOS venv\Scripts\activate # Windows -
Instalar dependencias
pip install -r requirements.txt -
Correr la API
uvicorn app.main:app --reload -
Correr el panel de streamlit
streamlit run streamlit_app.py
- El archivo
characters.dbya está incluido en el proyecto, no se requieren configuraciones adicionales para la base de datos.