Back to Work/UniMateLK
Academic Full-Stack Web Application2026

UniMateLK

A roommate matching and chat platform built as an academic group project using Spring Boot, MySQL, Google OAuth, and real-time WebSocket communication.

JavaSpring BootSpring SecurityOAuth2MySQLFlywayJPAHibernateWebSocketSTOMPSockJSHTMLCSSJavaScript
Overview

What is this project?

UniMateLK is an academic group project for the DEA module. The platform helps users find suitable roommates by creating profiles, setting preferences, viewing suggested matches, sending match requests, and chatting after a match is accepted.

Project Type

Academic Full-Stack Web Application

Year

2026

Status

Completed

My Role

I contributed to the development and documentation of the project as part of the academic group work. The project helped me improve my backend, database, API, authentication, and full-stack development skills.

The Challenge

What made this difficult?

The main challenge was building a complete full-stack application with authentication, profile management, matching logic, request handling, and real-time chat. The project also required proper backend structure, database integration, and API testing.

Features

What I Built

Google OAuth login

Profile creation and update

Preferences creation and update

Preference-based roommate match suggestions

Match request send, accept, reject, and cancel flow

Chat rooms unlocked after accepted matches

Real-time text chat using WebSockets

Image sharing in chat

Postman collection for API testing

Visual

Project Preview

PLATFORM FLOWGoogle OAuthProfileMatchEngineChat RoomSpring SecurityJPA / MySQLPreference MatchWebSocket
BACKEND STACKSpring Security / OAuth2Service Layer — Business LogicJPA / HibernateWebSocketMySQLSTOMPSockJS
MATCH WORKFLOWUser APreferences setUser BPreferences setRequestAcceptChat Unlocked
Outcome

What I Learned

This project is stronger than a basic student management system because it shows real full-stack application features such as authentication, matching, request workflows, database-backed logic, API testing, and real-time communication.