UTEC · Ingeniería de software
Culturarte
Plataforma de crowdfunding para proyectos culturales, hecha con Java y Spring Boot.
- Rol
- Desarrollo full-stack (proyecto académico en equipo)
- Año
- 2024
- Stack
- JavaSpring BootSQLDockerMetodologías ágiles
El problema
Proyecto de la carrera: construir una plataforma donde proponentes publiquen proyectos culturales y colaboradores los financien. Fue el primer sistema grande que armé de punta a punta, con varios roles de usuario y reglas de negocio de verdad.
Qué construí
- Alta y gestión de propuestas culturales, organizadas por categorías.
- Colaboraciones de los usuarios sobre cada propuesta, con seguimiento del estado.
- Comentarios y favoritos para que la comunidad interactúe con los proyectos.
- Ranking de usuarios según su actividad dentro de la plataforma.
- Empaquetado con Docker para que todo el equipo levantara el mismo entorno.
Decisiones técnicas
Spring Boot sobre Java EE puro
Spring Boot resolvía configuración, inyección de dependencias y acceso a datos con mucho menos andamiaje, lo que nos dejó tiempo para el dominio del problema en vez de pelear con el arranque del proyecto.
Modelo de datos primero
Antes de escribir código dedicamos tiempo al modelo relacional: propuestas, estados, colaboraciones y usuarios. Tener las relaciones claras evitó rehacer medio sistema cuando aparecieron reglas nuevas.
Docker para el entorno de equipo
Cada integrante tenía un sistema operativo y una versión de base de datos distinta. Contenerizar la aplicación eliminó el clásico "en mi máquina anda" y volvió reproducible el arranque.
Qué me llevé
- Diseñar un modelo relacional pensando en cómo se va a consultar, no solo en cómo se guarda.
- Separar responsabilidades en capas (controladores, servicios, repositorios) y por qué eso importa cuando el proyecto crece.
- Coordinar un equipo con Git y metodologías ágiles: ramas, revisiones e integración continua del trabajo de cada uno.