Plataforma colaborativa para descubrir, proponer y compartir eventos culturales y lugares singulares en un mapa interactivo.
- Descripción del Proyecto
- Problema que Resuelve
- Público Objetivo
- Arquitectura Cloud
- Documentación de Hitos
- Autor
CultureMap es una plataforma web multiusuario que permite explorar, proponer y guardar eventos culturales (conciertos, exposiciones, charlas) y lugares únicos (miradores, bares con encanto, galerías, tiendas locales) sobre un mapa interactivo.
Combina:
- 📅 Eventos puntuales con fechas concretas
- 📍 Sitios permanentes que merecen ser visitados
- 👥 Los usuarios proponen, validan y sanean el contenido
- 🛡️ Distintos roles y permisos
Actualmente, cuando se visita cualquier ciudad o pueblo, los sitios para ver o los sitios donde ir son siempre los mismos, por lo que se masifican y pierden el encanto que tienen, asi como su esencia. Algunos de los puntos que trata de corregir esta idea son los siguiente:
- Eventos pequeños invisibles y en decadencia: Conciertos en bares, charlas en librerías, exposiciones en galerías pequeñas no aparecen en plataformas grandes
- Sitios auténticos ocultos: Los mejores miradores, tiendas locales o bares con encanto no están en Google Maps
- Información dispersa: Instagram, Facebook, carteles, boca a boca... todo separado
- Turismo repetitivo: Masificación de los sitios turísticos y pérdida de la esencia local
- ✅ Un solo mapa para descubrir toda la oferta cultural local (Se centrará en Granada)
- ✅ Comunidad activa que propone y valida contenidos
- ✅ Dar visibilidad a organizaciones pequeñas
- ✅ Descubrimiento auténtico de la ciudad
-
Personas curiosas y turistas responsables
- Buscan experiencias locales auténticas
- Quieren evitar trampas turísticas
- Valoran la cultura independiente
- Respetan el entorno y la ciudad que visitan
-
Organizaciones culturales pequeñas
- Pequeños artistas locales
- Galería de fotos callejera
- Actos de voluntariado y ayuda pública
-
Comunidades universitarias
- Interesados en compartir y descubrir cultura local
- Organizadores de eventos comunitarios
- Estudiantes que buscan planes alternativos
Tras el Hito 3, el proyecto ha pasado de tener una arquitectura monolítica (todo en un mismo sitio) a una arquitectura de microservicios bajo un esquema "Monorepo"(un único repositorio). La aplicación se ha separado en servicios independientes, cada uno con su propio proyecto Django y su propia base de datos.
Los servicios implementados actualmente son:
- services/web_frontend: El monolito original del Hito 2, que sirve la interfaz de usuario (mapa, plantillas HTML).
- services/service_usuarios: Un microservicio de API (DRF) que gestiona la identidad (registro y login con tokens JWT).
- services/service_lugares: Un microservicio de API (DRF) que gestiona el CRUD del catálogo de lugares.
- services/service_interacciones: Un microservicio de API (DRF) que gestiona la lógica social (votos, comentarios, etc.).
Esta separación es fundamental para el Hito 4, donde cada servicio se desplegará como un contenedor Docker independiente.
- 📄 Hito 1: Repositorio y Definición del Proyecto
- 📄 Hito 2: Integración Continua (CI)
- 📄 Hito 3: Diseño de microservicios
Este proyecto cuenta con muchas nuevas tecnologías:
- Backend y API: Django y Django REST Framework (DRF).
- Autenticación de API: Simple JWT (JSON Web Tokens).
- Frontend: Plantillas de Django (HTML) con Bootstrap 5.
- Mapas: Leaflet.js.
- Logging: python-json-logger (para logs estructurados a stdout).
- CI/CD: GitHub Actions (testeando 4 servicios en paralelo).
[Teodosio Donaire González]
Estudiante de Máster en Ingeniería Informática
Universidad de Granada
- GitHub: @Teodosiodg2002
- Email: teodonaire@gmail.com
Este proyecto está bajo la licencia MIT. Ver LICENSE para más detalles.
Proyecto desarrollado como parte de la asignatura de Cloud Computing del Máster en Ingeniería Informática.
Última actualización: [10/11/2025]