UTEC · Software engineering
Culturarte
A crowdfunding platform for cultural projects, built with Java and Spring Boot.
- Role
- Full-stack development (academic team project)
- Year
- 2024
- Stack
- JavaSpring BootSQLDockerAgile methodologies
The problem
A degree project: build a platform where proposers publish cultural projects and backers fund them. It was the first large system I put together end to end, with several user roles and real business rules.
What I built
- Creating and managing cultural proposals, organised by category.
- User collaborations on each proposal, with status tracking.
- Comments and favourites so the community can engage with projects.
- A user ranking based on activity within the platform.
- Packaged with Docker so the whole team ran the same environment.
Technical decisions
Spring Boot over plain Java EE
Spring Boot handled configuration, dependency injection and data access with far less scaffolding, which left us time for the problem domain instead of fighting the project setup.
Data model first
Before writing code we spent time on the relational model: proposals, states, collaborations and users. Getting the relationships right up front saved us from rewriting half the system when new rules appeared.
Docker for the team environment
Every member had a different operating system and database version. Containerising the application killed the classic "works on my machine" and made startup reproducible.
What I took away
- Designing a relational model around how data will be queried, not just how it is stored.
- Separating responsibilities into layers (controllers, services, repositories) and why that matters as a project grows.
- Coordinating a team with Git and agile methodologies: branches, reviews and integrating everyone's work.