Aplicación web para generar y gestionar historias de usuario y tareas con asistencia de IA. Desarrollada con Flask, MySQL, SQLAlchemy y Jinja2.
- Python 3.13
- MySQL 8+ (local o remoto)
- Proveedor LLM: Azure OpenAI, Ollama o cualquier endpoint compatible con OpenAI
Con uv (recomendado):
uv venv| Sistema operativo | Activar |
|---|---|
| macOS / Linux | source .venv/bin/activate |
| Windows (PowerShell) | .venv\Scripts\Activate.ps1 |
| Windows (CMD) | .venv\Scripts\activate.bat |
Con pip:
| Sistema operativo | Crear | Activar |
|---|---|---|
| macOS / Linux | python3 -m venv .venv |
source .venv/bin/activate |
| Windows (PowerShell) | python -m venv .venv |
.venv\Scripts\Activate.ps1 |
| Windows (CMD) | python -m venv .venv |
.venv\Scripts\activate.bat |
# uv
uv sync --group dev
# pip
pip install -r requirements.txt# macOS / Linux
cp .env.dist .env
# Windows (PowerShell)
Copy-Item .env.dist .envEdita .env y rellena:
DATABASE_URL— cadena de conexión MySQLSECRET_KEY— cadena aleatoria- Credenciales del proveedor LLM (ver Configuración del LLM)
Crea una base de datos vacía en tu servidor MySQL. La aplicación crea las tablas automáticamente al arrancar.
CREATE DATABASE taskmanager CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci;flask --app src.entregable.main run --debugAbre http://127.0.0.1:5000/user-stories en el navegador.
pytestEl informe de cobertura se muestra automáticamente (configurado en pytest.ini).
Establece PROVIDER en .env. Solo son necesarias las variables del proveedor elegido.
PROVIDER=azure
AZURE_ENDPOINT=https://<tu-recurso>.openai.azure.com/
AZURE_API_KEY=<tu-clave>
AZURE_DEPLOYMENT=gpt-4o-mini
AZURE_API_VERSION=2024-02-01PROVIDER=ollama
OLLAMA_MODEL=llama3.2
OLLAMA_BASE_URL=http://localhost:11434/v1PROVIDER=openai_compat
COMPAT_ENDPOINT=https://<tu-endpoint>/v1
COMPAT_API_KEY=<tu-clave>
COMPAT_MODEL=<nombre-del-modelo>| URL | Acción |
|---|---|
GET /user-stories |
Lista todas las historias. Escribe un prompt para generar una nueva. |
GET /user-stories/<id>/tasks |
Ver tareas de una historia. |
Desde el listado de historias:
- Escribe un prompt describiendo la funcionalidad y pulsa Generar historia.
- Una vez creada la historia, pulsa Ver tareas para ver las tareas existentes o + Generar para generarlas con IA.
| Capa | Tecnología |
|---|---|
| Framework | Flask 3.1 |
| Base de datos | MySQL 8 + SQLAlchemy 3 + PyMySQL |
| Validación | Pydantic 2 |
| Templates | Jinja2 + Bootstrap 5.3 |
| SDK LLM | openai |
| Tests | pytest + pytest-cov |
| # | Entregable | Estado |
|---|---|---|
| 1 | REST API — FastAPI + persistencia JSON | ✅ |
| 2 | Endpoints IA — descripción, categorización, estimación, auditoría | ✅ |
| 3 | UI + Base de datos — Flask, MySQL, Jinja2 | ✅ |
| 4 | Docker + CI/CD | — |
| 5 | Despliegue en Azure | — |