← All projects

04 · Microservices

JobNest.

A job portal on Spring Boot microservices (auth, jobs, applications) secured with JWT and RBAC, with a normalized, indexed MySQL schema.

−35% search latency
Spring BootMySQLRedisJWT
View source ↗

01 · The problem

A job portal mixes very different workloads (sign-in, job listings and search, applications) and serves two kinds of users. Search in particular has to stay fast as the number of listings grows.

02 · What I built

  • Spring Boot microservices for auth, jobs, and applications, each deployable on its own.
  • JWT authentication with role-based access control for job seekers and employers.
  • A normalized MySQL schema with indexes on the columns used by search.
  • A React and Redux frontend with role-based views, lazy loading, and client-side caching, consuming RESTful APIs.

03 · Key decisions

  1. 01

    Split services by domain

    Auth, jobs, and applications change for different reasons, so separating them keeps each codebase small and lets them be deployed independently.

  2. 02

    Index the search path

    Indexing the columns that search filters on reduced search latency by 35%.

  3. 03

    Stateless JWT authentication

    Each service can verify a token on its own, and roles in the token drive what each type of user can see and do.

04 · Results

  • 35% lower search latency
  • Independently deployable services
  • Separate, role-based experiences for job seekers and employers