Aplicación para la gestión de visitas técnicas, recogida de datos de vivienda, envolvente térmica, huecos, instalaciones, documentación y exportación de certificados energéticos.
El proyecto está en proceso de refactor a arquitectura modular por capas, separando la lógica en:
- application → casos de uso
- infrastructure → acceso a datos / servicios externos
- presentation → controladores y rutas
Actualmente el backend ya está migrado parcialmente a esta estructura en los módulos principales.
El backend sigue una arquitectura modular por capas.
src/
├── assets/
├── config/
├── middleware/
├── modules/
│ ├── auth/
│ ├── visits/
│ ├── buildings/
│ ├── envelope/
│ ├── windows/
│ ├── installations/
│ └── documents/
├── routes/
├── services/
└── app.jsmodules/auth/
├── application/
│ └── use-cases/
├── infrastructure/
│ ├── auth/
│ └── repositories/
└── presentation/
├── controllers/
└── routes/Contiene los casos de uso de negocio.
Ejemplo:
- login de usuario
- registro de usuario
- crear visita
- guardar envolvente
Contiene la implementación técnica:
- acceso a base de datos
- repositorios
- servicios externos
- utilidades técnicas
Contiene la entrada/salida HTTP:
- controladores
- rutas
- validación de requests
- Node.js
- Express
- PostgreSQL
- JWT
- Multer
- bcrypt
- Google Drive API
- Airtable API
- React
- Vite
git clone <URL_DEL_REPO>
cd backendnpm installcd ../frontend
npm installEjemplo:
DB_HOST=localhost
DB_USER=postgres
DB_PASSWORD=tu_password
DB_NAME=cee_app
DB_PORT=5432
JWT_SECRET=impulsa_clave_super_segura_2026
FRONTEND_URL=http://localhost:5173
⚠️ En producción se utilizan variables diferentes (Render / Neon / servicios externos).
Desde la carpeta backend:
npm run devServidor por defecto en:
http://localhost:4000Desde la carpeta frontend:
npm run devAplicación por defecto en:
http://localhost:5173POST /api/auth/loginPOST /api/auth/registerPOST /api/visitsGET /api/visitsDELETE /api/visits/:idPUT /api/visits/:id/buildingPOST /api/visits/:id/envelopeGET /api/visits/:id/envelopeDELETE /api/visits/:id/envelope/:elementoIdPOST /api/visits/:id/windowsGET /api/visits/:id/windowsDELETE /api/visits/:id/windows/:windowIdPOST /api/visits/:id/installationsGET /api/visits/:id/installationsGET /api/visits/:id/export-pdfGET /api/visits/:id/export-xmlPOST /api/visits/:id/finalizeActualmente se están validando manualmente los endpoints principales mediante:
- Postman / Thunder Client
- pruebas locales con PostgreSQL
- despliegue en Render
- ✅
POST /api/auth/register - ✅
POST /api/auth/login - ✅
GET /api/visits - ✅
POST /api/visits
- Completar refactor de todos los módulos
- Homogeneizar esquema local y producción (PostgreSQL / Neon)
- Añadir tests automáticos con Jest + Supertest
- Mejorar validaciones de entrada
- Documentar mejor flujos de archivos y fotos
- Añadir migraciones de base de datos
impulsa-cee-frontend
impulsa-cee-backend
Proyecto desarrollado para la gestión técnica de certificados energéticos y visitas de campo.