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.
Find and follow opportunities
- Browse and search available jobs.
- Apply to a job through the application workflow.
- Track application status from the student dashboard.
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.
05 / MEDIA
Project gallery
The public job-search preview contains sample listing copy and does not verify current vacancies. The student and recruiter dashboard visuals are illustrative workflow concepts, not captured product screenshots. Select any preview to bring it into the large viewing frame.
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.