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.

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

  • Java 21
  • Spring Boot
  • Spring Security
  • MongoDB
  • WebSocket / STOMP
  • JWT
  • Angular
  • Maven
  • Lombok
  • MapStruct
  • REST API
  • Validation
  • CORS

Source code

The source code for this project is public on GitHub.

View 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.