All projects CASE STUDY / 05

Full-stack web app · Recruitment workflow

Job Portal.

A MERN-based job platform where students discover opportunities and recruiters publish jobs and manage applications.

Preview of the Job Portal landing page with sample listing content; sample details are not verified vacancies.
Project preview · sample listing content
MY ROLEFull-stack development
STATUSDemo URL documented
USER ROLESStudents + recruiters
DELIVERABLEMERN job portal

01 / THE BRIEF

One platform, two user journeys.

Job seekers need a clear way to find openings, apply and follow application progress. Recruiters need a separate workspace to publish roles and review applicants. The project brings both workflows into one application with role-based access.

02 / THE APPROACH

Separate experiences, shared platform.

The application is organised into a React client and a Node.js/Express server. Students and recruiters use role-specific functionality, while JWT-based authentication and authorization protect access to the relevant parts of the application.

01 / STUDENT

Find and follow opportunities

  • Browse and search available jobs.
  • Apply to a job through the application workflow.
  • Track application status from the student dashboard.
02 / RECRUITER

Publish and manage openings

  • Create and manage job postings.
  • View applicants for posted jobs.
  • Update or remove listings from the recruiter dashboard.

03 / IMPLEMENTATION

What I built

  • Implemented registration and login using email/password authentication with JWT-based authentication and authorization.
  • Separated student and recruiter capabilities through role-based access.
  • Added job browsing and search, job applications, and application-status tracking for students.
  • Added job creation, listing management and applicant review workflows for recruiters.
  • Built the client with React, React Router, Axios, Tailwind CSS and shadcn/ui components.
  • Built the server with Node.js, Express.js, MongoDB and Mongoose.

04 / APPLICATION ARCHITECTURE

How the parts connect

The following is a high-level view based on the repository’s documented client/server structure and technology stack.

Client and server separation

The repository keeps the frontend and backend in separate Client and Server directories.

Role-aware access

Student and recruiter actions are separated so each role is presented with the workflows relevant to it.

Reusable UI system

Tailwind CSS and shadcn/ui provide the interface foundation, while Framer Motion is used for interface animation.

06 / OUTCOME

A role-based job portal built with the MERN stack.

The repository documents a frontend demo URL and a separate backend API URL. The project is also published under the MIT License. Deployment reachability should be checked before presenting either URL as currently available. No user, hiring, conversion or performance figures are claimed because verified analytics were not provided in the repository documentation.

07 / FURTHER IMPROVEMENTS

What I would validate next

  • Add or document automated tests for authentication, role permissions, job posting and application workflows.
  • Document the API contracts and expected request/response shapes for the client-server boundary.
  • Review loading, empty and error states across student and recruiter journeys.
  • Run keyboard, screen-reader and responsive checks against the deployed application.

KEEP EXPLORING

More work, more learning.

Browse all projects