CASE STUDY 03 / OPEN-SOURCE / FULL STACK
Technical Chat — Real-Time Messaging Application
A one-to-one messaging application with persisted conversations and live delivery.
- CLIENTAngularConversation views
- APISpring Boot · STOMPJWT · WebSocket
- STORAGEMongoDBPersisted conversations
Problem
Create a focused messaging experience with account access, a conversation directory and reliable real-time message delivery.
Architecture
A Spring Boot API handles registration, authentication, validation and persisted conversation history in MongoDB. WebSocket/STOMP carries live messages. An Angular client provides responsive conversation views.
What I Built
The application includes stateless JWT authentication, Spring Security, online and offline presence, a user directory, one-to-one conversations and structured REST and messaging error handling.
Engineering Details
The backend uses layered controllers, services, repositories, DTOs and mappers with Lombok and MapStruct. The client uses TypeScript and Angular. CORS and request validation support the browser-facing API.
Tech Stack
Source code
The source code for this project is public on GitHub.
NEXT PROJECT
University SSO
A university platform where students, staff, professors and administrators sign in once through Keycloak to use catering, student residence, reservation, subscription and claims services.