The project
House hunting as a student is two searches at once. You find the right room in the wrong place, or the right room with the wrong people. Property portals solve only the first half and treat flatmates as a detail.
UniDomus puts both searches on equal footing. On one side the listings, with a map, price and floor-area filters and a full property sheet. On the other, the people: a profile built from habits and interests — early riser or late sleeper, tidy, quiet, sociable — and a matching system that connects people looking for a place with those who have a spare room or are looking for someone to share one with.
On top sit the features that make it actually usable: real-time messaging over Socket.IO, notifications, registration with email verification and unique usernames, and an admin area for moderating users and listings, handling reports and bans.
The backend is an Express service on MongoDB with Mongoose, with schema-level validation and APIs documented in API Blueprint. The frontend is React with Vite and Tailwind, and the listings map uses Leaflet.