Sistema de gestión de reclamos ciudadanos basado en mapas interactivos para la ciudad de Tandil. Permite a los ciudadanos reportar problemas urbanos con ubicación geográfica, imágenes y detalles.
Mapa Tandil es una aplicación web que combina un frontend en Vue.js con OpenLayers para visualización de mapas y un backend en Node.js con Express para la gestión de reclamos ciudadanos. Los usuarios pueden:
- Visualizar reclamos existentes en un mapa interactivo
- Crear nuevos reclamos con ubicación geográfica
- Adjuntar imágenes como evidencia
- Ver detalles de reclamos existentes
- Navegar por la interfaz de manera intuitiva
Para información detallada sobre la arquitectura y componentes del proyecto, consulta la documentación técnica:
- Arquitectura del Backend - Documentación completa del servidor Node.js, API, base de datos y seguridad
- Arquitectura del Frontend - Documentación detallada de la aplicación Vue.js, componentes, mapas y UI
El proyecto está dividido en dos partes principales:
- Framework: Vue.js 3 con Composition API
- Mapas: OpenLayers con vue3-openlayers
- UI: PrimeVue + PrimeFlex + Bootstrap Icons
- Build: Vue CLI
- Runtime: Node.js
- Framework: Express.js
- Base de datos: MySQL
- ORM: Knex.js
- Seguridad: Rate limiting, CORS configurado
mapa_tandil/
├── back/ # Backend Node.js
├── front/ # Frontend Vue.js
├── documentacion/ # Documentación técnica
│ ├── back/
│ │ └── arquitectura.md # Arquitectura del backend
│ └── front/
│ └── arquitectura.md # Arquitectura del frontend
└── README.md # Este archivo
- Node.js (versión 14 o superior)
- MySQL (versión 5.7 o superior)
- npm o yarn
- Navegar al directorio del backend:
cd mapa_tandil/back- Instalar dependencias:
npm install- Configurar variables de entorno (crear archivo
.env):
service_port_api=3000
cors_origin=http://localhost:8080
mysql_host=localhost
mysql_user=tu_usuario
mysql_password=tu_password
mysql_database=mapa_tandil- Crear la base de datos:
mysql -u tu_usuario -p tu_database < definicion_inicial_db.sql- Iniciar el servidor:
node server.js- Navegar al directorio del frontend:
cd mapa_tandil/front- Instalar dependencias:
npm install- Iniciar el servidor de desarrollo:
npm run serve- Para producción:
npm run build- Desarrollo: http://localhost:8080
- API Backend: http://localhost:3000
- Visualizar Mapa: Ver reclamos existentes en el mapa
- Crear Reclamo: Hacer clic en "Nuevo Reclamo" y seleccionar ubicación
- Completar Formulario: Llenar título, detalles y adjuntar imágenes
- Enviar: El reclamo se guarda en la base de datos
npm run serve: Servidor de desarrollonpm run build: Construcción para producciónnpm run lint: Verificación de código
node server.js: Iniciar servidor
- Fork el proyecto
- Crea una rama para tu feature (
git checkout -b feature/AmazingFeature) - Commit tus cambios (
git commit -m 'Add some AmazingFeature') - Push a la rama (
git push origin feature/AmazingFeature) - Abre un Pull Request
Este proyecto está bajo la Licencia MIT. Ver el archivo LICENSE para más detalles.
Para soporte técnico o consultas sobre el proyecto, contactar al equipo de desarrollo.
Versión: 0.4.3
Última actualización: 2024