Backend para GALPyra con FastAPI, SQLAlchemy 2.0 async, MySQL 8, Alembic y Pydantic v2.
- Python 3.11+
- MySQL 8.0
PI3-Back/
├── application.py
├── requirements.txt
├── .env.example
├── Dockerfile
├── docker-compose.yml
├── alembic/
├── app/
└── tests/
- Copia variables de entorno:
cp .env.example .env- Crea entorno virtual e instala dependencias:
python -m venv .venv
. .venv/Scripts/activate # Windows PowerShell: .venv\Scripts\Activate.ps1
pip install -r requirements.txtdocker compose up -d --buildAPI disponible en http://localhost:8000.
- Levanta MySQL (local o con docker).
- Aplica migraciones.
- Ejecuta seed.
- Inicia FastAPI.
alembic upgrade head
python -m app.core.seed
uvicorn app.main:app --reload --port 8000Crear migracion:
alembic revision --autogenerate -m "descripcion_cambio"Aplicar migraciones:
alembic upgrade headRevertir una migracion:
alembic downgrade -1Revertir a version especifica:
alembic downgrade <revision_id>- email:
admin@galpyra.com - password:
Admin123* - nombre:
Administrador GALPyra - rol:
ADMIN
Los endpoints estan abiertos para facilitar integracion con Flutter y Postman.
- El flujo JWT (login/refresh/logout) ya esta implementado.
get_current_userya existe enapp/core/dependencies.py.- Para endurecer seguridad luego, agrega
Depends(get_current_user)en los routers que correspondan.
pytest -q- Swagger UI:
http://localhost:8000/docs - ReDoc:
http://localhost:8000/redoc - OpenAPI JSON:
http://localhost:8000/openapi.json
- Guia operativa para integracion con Flutter y despliegue en AWS: docs/checklist-preintegracion-despliegue.md
- Guia rapida de variables por ambiente para Flutter: docs/front-envs-flutter.md