codigo0/backend/README.md

103 lines
2.3 KiB
Markdown
Raw Normal View History

2026-01-19 08:10:16 +00:00
# EMERGES TES - Backend API
Backend para gestión de contenido de EMERGES TES.
## 🚀 Inicio Rápido
### 1. Instalar dependencias
```bash
cd backend
npm install
```
### 2. Configurar variables de entorno
```bash
cp .env.example .env
# Editar .env con tus credenciales de PostgreSQL
```
### 3. Crear base de datos
```bash
npm run db:create
```
Este comando:
- Crea la base de datos `emerges_tes` si no existe
- Ejecuta todas las migraciones SQL
- Crea el esquema completo
### 4. Migrar contenido inicial
```bash
npm run migrate
```
Este comando migra el contenido de `src/data/*.ts` a PostgreSQL.
### 5. Iniciar servidor
```bash
npm run dev
```
El servidor estará disponible en `http://localhost:3000`
## 📁 Estructura
```
backend/
├── src/
│ ├── api/ # Endpoints de la API (FASE 2+)
│ ├── db/ # Utilidades de base de datos
│ ├── migrations/ # Migraciones de datos
│ └── utils/ # Utilidades
├── config/
│ └── database.js # Configuración de PostgreSQL
├── scripts/
│ ├── db-create.js # Crear BD y ejecutar migraciones
│ └── migrate-content.js # Migrar contenido TypeScript → PostgreSQL
└── package.json
```
## 🔧 Scripts Disponibles
- `npm run dev` - Iniciar servidor en modo desarrollo
- `npm start` - Iniciar servidor en producción
- `npm run db:create` - Crear base de datos y ejecutar migraciones
- `npm run migrate` - Migrar contenido desde TypeScript
## 📊 Estado de Implementación
### ✅ FASE 1: Infraestructura Base (Actual)
- ✅ Estructura de directorios
- ✅ Scripts SQL de creación de esquema
- ✅ Configuración de PostgreSQL
- ✅ Scripts de migración básicos
- ✅ Servidor Express básico
### ⏳ FASE 2: API REST (Próxima)
- Endpoints GET para lectura
- Sincronización de contenido
- Cache y optimización
### ⏳ FASE 3: Panel Admin (Futuro)
- Autenticación
- Editores de contenido
- Validación clínica
## 🔐 Seguridad
- Las credenciales de BD deben estar en `.env` (no commitear)
- JWT para autenticación (FASE 3)
- Validación de entrada en todos los endpoints
## 📝 Notas
- Este backend es independiente de la app React
- La app React solo LEE contenido (pull-only)
- El panel admin (futuro) será quien ESCRIBA contenido