Skip to main content
Next.jsSpring BootMySQLDockerfullstack

StayMate

StayMate is a production-grade rental property marketplace that connects landlords with tenants. It features property listing management, search with filters, user authentication via JWT, real-time messaging, and image uploads — built with a clean separation between the Next.js frontend and Spring Boot backend.

Problem Statement

Finding rental properties in local markets often relies on fragmented social media posts and phone calls, lacking a unified search and communication platform.

Tech Stack

Next.js
Spring Boot
MySQL
Docker

Challenges & Solutions

Challenge 1

Building a secure multi-role authentication system (landlord vs tenant)

Solution

Designed role-based JWT auth with Spring Security and refresh token rotation

Challenge 2

Implementing efficient property search with multiple filter combinations

Solution

Built dynamic query construction using JPA Specifications for flexible filtering

Challenge 3

Handling image uploads and storage at scale

Solution

Implemented cloud-based image storage with pre-signed URLs for secure uploads

Results

  • Supports 500+ property listings with paginated search in under 300ms
  • Zero authentication vulnerabilities in security testing
  • Deployed via Docker Compose with separate services for frontend, backend, and database

Want to see more?

Check out my other projects or read my technical blog posts.