This is a walkthrough of our final project for "Internet Programming B" - a WhatsApp-inspired social network built entirely with Spring Boot MVC, Spring Security, JPA with MySQL, and Thymeleaf (no React or external frontend frameworks).
Overview
Our platform enables authenticated users to chat in real-time through private, group, and community chatrooms. Features include:
Google OAuth2 Login
Real-time chat via WebSockets
File sharing in messages
Community discovery and group management
In-app message reporting
Admin dashboard for moderation and broadcast
Technical Capabilities
Spring Boot MVC architecture with controller/service/repository layers
Secure authentication using Spring Security + OAuth2
Session-scoped beans to track chat history, access, and bans
File uploads with JPA + optional filesystem/BLOB support
Custom Interceptors to enforce access policies
Admin-only moderation: timed bans, report resolution, and live polling
Broadcast system with expiration and polling updates
Fully responsive UI using Thymeleaf and Bootstrap
Database
MySQL-powered, featuring fully normalized tables for users, chatrooms, messages, files, reports, user_chatrooms, and broadcast_messages, with strict relational constraints and lifecycle-aware logic such as cascading deletions, foreign key enforcement, and role-based access control for admin-only actions.