Sistema Inteligente de Estimación de Costos para Constructora.
Sistema orientado a la estimación automática de costos de construcción de viviendas basado en métricas por metro cuadrado y configuración estructural.
SIEC es un sistema inteligente desarrollado para empresas constructoras que automatiza el desglose y cálculo de los insumos requeridos para la edificación de viviendas.
🎓 Contexto Académico: Este proyecto está siendo desarrollado para la asignatura de Ingeniería de Software II.
La estimación de costos y materiales en proyectos de construcción residencial a menudo implica:
Un sistema interactivo que permite:
El sistema está planteado con una arquitectura moderna que separa la interfaz de los robustos motores de reglas:
El sistema implementa lógicas avanzadas para garantizar una estimación precisa y una experiencia interactiva:
Con miras a convertir la aplicación en una solución de nivel empresarial, se planean las siguientes evoluciones:
El proyecto actual se encuentra dockerizado para facilitar el despliegue de todos los servicios simultáneamente.
docker-compose up --build
Una vez levantado, los servicios estarán disponibles en los siguientes puertos locales configurables desde el archivo docker-compose.yml:
http://localhost:5173http://localhost:8000 (Swagger UI: http://localhost:8000/docs)5432├── 📁 backend
│ ├── 🐍 database.py
│ ├── 🐍 main.py
│ ├── 🐍 models.py
│ └── 📄 requirements.txt
├── 📁 database
│ ├── 📁 migrations
│ │ ├── 📄 001_create_material_estructural.sql
│ │ └── 📄 002_create_configuracion_simulacion.sql
│ └── 📁 seeds
│ ├── 📄 001_seed_material_estructural.sql
│ ├── 📄 001_verify_material_estructural.sql
│ ├── 📄 002_seed_configuracion_simulacion.sql
│ └── 📄 002_verify_configuracion_simulacion.sql
├── 📁 docs
│ └── 📝 context.md
├── 📁 frontend
│ ├── 📁 cypress
│ │ ├── 📁 e2e
│ │ │ └── 📄 stress-test-3d-renderer.cy.js
│ │ └── 📁 support
│ │ ├── 📄 e2e.js
│ │ └── 📄 performance-monitor.js
│ ├── 📁 public
│ │ ├── 🖼️ favicon.svg
│ │ └── 🖼️ icons.svg
│ ├── 📁 src
│ │ ├── 📁 assets
│ │ │ ├── 🖼️ hero.png
│ │ │ ├── 🖼️ vite.svg
│ │ │ └── 🖼️ vue.svg
│ │ ├── 📁 components
│ │ │ ├── 📄 ConfigurationPanel.vue
│ │ │ ├── 📄 HelloWorld.vue
│ │ │ ├── 📄 MaterialSelector.vue
│ │ │ ├── 📄 MaterialsPanel.vue
│ │ │ ├── 📄 MetricsPanel.vue
│ │ │ ├── 📄 RoomEditor2D.vue
│ │ │ ├── 📄 SaveLayoutDialog.vue
│ │ │ ├── 📄 Scene3D.vue
│ │ │ ├── 📄 Sidebar.vue
│ │ │ └── 📄 TopNavBar.vue
│ │ ├── 📁 composables
│ │ │ ├── 📁 __tests__
│ │ │ │ └── 📄 useTokenCounter.spec.js
│ │ │ ├── 📄 useI18n.js
│ │ │ ├── 📄 useInteractiveEditor.js
│ │ │ ├── 📄 useLayoutManager.js
│ │ │ ├── 📄 useTokenCounter.js
│ │ │ ├── 📄 useTopologyComputed.js
│ │ │ └── 📄 useTopologyExtractor.js
│ │ ├── 📁 stores
│ │ │ └── 📄 recintos.js
│ │ ├── 📁 utils
│ │ │ ├── 📁 __tests__
│ │ │ │ └── 📄 tokenMath.spec.js
│ │ │ └── 📄 tokenMath.js
│ │ ├── 📄 App.vue
│ │ ├── 📄 main.js
│ │ └── 🎨 style.css
│ ├── ⚙️ .gitignore
│ ├── 📝 README.md
│ ├── 📄 cypress.config.js
│ ├── 🌐 index.html
│ ├── ⚙️ package-lock.json
│ ├── ⚙️ package.json
│ ├── 📄 postcss.config.js
│ ├── 📄 tailwind.config.js
│ └── 📄 vite.config.js
├── 📁 poc
│ ├── 📁 __tests__
│ │ └── 📄 poc-logic.test.js
│ ├── 🌐 house-generator-poc.html
│ ├── ⚙️ package-lock.json
│ ├── ⚙️ package.json
│ └── 📄 poc-logic.js
├── ⚙️ .gitignore
├── 📝 README.md
├── ⚙️ docker-compose.yml
└── ⚙️ package.json
|
Three.js Motor 3D WebGL |
JavaScript / TS Lógica Frontend |
Postgres / MySQL Almacenamiento Relacional |
GitHub Control de Versiones |
Jira Gestión Ágil (Scrum) |
|
Andres Tapia Product Manager |
Lukas Flores Líder Técnico |
Gonzalo Jara Developer |
Felipe Figueroa Developer |
Fernando Salazar Developer |
|
Compromiso del equipo: 6-8 hrs/semana por integrante Ceremonias: Planning, Dailies, Review, Retro, Refinement Comunicación: Discord + Jira + GitHub |
||||
| Rol | Responsabilidades |
|---|---|
| Product Manager | Definir visión y prioridades del producto, validar requerimientos, gestionar backlog y coordinar objetivos del equipo |
| Líder Técnico | Definir arquitectura técnica, apoyar decisiones de implementación, revisar código y supervisar integración técnica |
| Developers | Implementar historias de usuario, realizar pruebas, apoyar documentación técnica y colaborar en la entrega incremental del producto |
Hecho con ❤️ por el equipo de SIEC