GoUni
A university carpooling platform: rides, bookings, maps and real-time chat.

The problem
University mobility in Lima needs to coordinate trips, trust and communication between drivers and passengers.
What I built
A Spring Boot backend with DDD and JWT organized by contexts (IAM, carpooling and chat), a WebSocket chat service and an Angular frontend with Mapbox and STOMP.
Outcome
A university project covering the full journey of booking, simulated payment and communication between users.
Decisions that mattered
- 01
One context per responsibility
IAM, carpooling and chat are modeled with DDD, each with its own services, domain and repositories.
- 02
Real-time coordination
STOMP over WebSocket carries the conversation between participants; Mapbox adds geographic context to trips.
- 03
Continuous delivery
CI/CD on Azure Pipelines with Docker and Kubernetes, and tests with JUnit, Mockito and Selenium under TDD.
Technologies
- Spring Boot
- Angular
- MySQL
- WebSocket
- Mapbox
- JWT
C4 model. The pulsing line is the main path of a request.
Level 1 · who uses the system and what it connects to
Level 2 · the applications and data stores it is made of
Level 3 · the components inside the API
- Person
- System
- Container
- Database
- External
- Main path
- 01Passenger
- 02Booking
- 03Driver
- 04Chat
- 05Trip