# Backend SGE TECBA

Backend API construido con FastAPI, SQLAlchemy y PostgreSQL usando `psycopg[binary]`.

## Requisitos

- Windows con Python 3.14 disponible como `py -3.14`
- PostgreSQL con la base `SGE_TECBA` ya creada
- Ajustar `backend/.env` antes de iniciar

## Instalacion

```bat
cd backend
install_backend.bat
```

## Ejecucion

```bat
cd backend
run_backend.bat
```

## Endpoints iniciales

- `GET /health`
- `GET /api/v1/test-db`
- `GET /api/v1/estudiantes`
- `GET /api/v1/estudiantes/{id}`
- `GET /api/v1/estudiantes/buscar?search=`
- `GET /api/v1/carreras`
- `GET /api/v1/asignaturas`
- `GET /api/v1/matriculaciones`
- `GET /api/v1/asistencias`
- `GET /api/v1/dashboard/resumen`
- `POST /api/v1/auth/login`

## Verificacion manual

```bat
cd backend
.venv\Scripts\activate.bat
python -c "import fastapi, uvicorn, sqlalchemy, psycopg; print('BACKEND DEPENDENCIAS OK')"
python -m uvicorn app.main:app --reload
```

## Notas

- No se usa `psycopg2-binary`.
- La cadena de conexion esta configurada como `postgresql+psycopg://`.
- Alembic queda preparado para futuras migraciones, pero no se ejecuta ninguna migracion destructiva.
- Si algun usuario aun depende de `password_temporal`, migralo a `password_hash` con bcrypt lo antes posible.
