Egalitarian DMS
Waste management system for cooperatives in Brasilia — built across four universities in three countries as part of an Erasmus+ project. Spring Boot backend with JWT auth, PostgreSQL, and a gamification layer to incentivize waste pickers.
Egalitarian is a digital management system for waste pickers’ cooperatives in Brasilia, built as a semester project through an Erasmus+ collaboration between Aalborg University Copenhagen, University of Brasilia, Saxion University of Applied Sciences, and University of Minho.
What it does
The system tracks waste collection, manages cooperative members, and runs a gamification engine that awards points for collections, achievements, and consistency. The goal is to help cooperatives move away from paper-based management and give waste pickers visibility into their own contribution and earnings.
My role
On the backend team, I worked on:
- REST API design and implementation in Spring Boot
- JWT authentication with refresh token support
- Role-based access control (cooperative admin, supervisor, waste picker)
- Gamification engine: points calculation, achievement unlocking, leaderboards
- PostgreSQL schema design and JPA entity modeling
- Integration with the University of Brasilia team’s React Native frontend
The multi-team reality
Working across four universities in three timezones is genuinely challenging. We used GitHub for version control and shared a Notion workspace for documentation, but the bigger challenge was aligning on architectural decisions with teams who had different backgrounds and preferences. We ended up writing an explicit API contract document early on — basically an informal API spec — that prevented a lot of integration surprises in the final weeks of the semester.
Stack
- Backend: Java 21, Spring Boot 3, Spring Security
- Database: PostgreSQL with JPA/Hibernate
- Auth: JWT (access tokens) + refresh tokens in HTTP-only cookies
- Build: Maven
- Deployment: Docker on University of Brasilia’s infrastructure