Skip to content

Repository files navigation

Etworks

This README is shared by both the frontend and backend projects.

Etworks is the React frontend. JobSphere is the Spring Boot backend. Together they implement a job portal with seeker, employer, and admin flows.

**What’s implemented **

  • Authentication: email/password registration, OTP verification, login, refresh, logout, password reset.
  • Admin authentication: admin login + OTP verification, refresh, logout.
  • Google OAuth: login with role selection and callback handling.
  • Role-based access: seeker, employer, admin protected routes.
  • Jobs: create, list with filters, update, deactivate, status updates, likes, saved jobs.
  • Applications: apply, list by job, list my applications, update status, check already applied.
  • Seeker profile: basic info, profile image, address, bio, skills, sector, tags, social links, projects, CV details.
  • CV builder: template listing, auto-fill from profile, preview, PDF download.
  • Employer: company profile + logo upload, company verification workflow, employer analytics stats.
  • Admin: user management, CV template management, company verification review, analytics stats.
  • Job alerts and matching: alerts CRUD, auto-sync with profile, matched jobs endpoint, recommended candidates.
  • Payments: Chapa integration for job posting payments, verification, history, webhook.
  • Notifications: list, unread count, mark read, test notification endpoint.
  • AI assistant: /api/v1/ai/chat and the Ema chat widget on the frontend.

Some UI routes are placeholders (see C:\Users\Hp\Desktop\HireNestBackend\HireNest\src\App.jsx where PlaceholderPage is used).

Tech Stack

  • Frontend: React 19, Vite, Tailwind CSS, React Router, Zustand, Axios.
  • Backend: Spring Boot 3.5.8, Java 21, PostgreSQL, Flyway, Spring Security, JWT, OAuth2, OpenAPI (springdoc), OpenPDF.
  • Integrations: Brevo (email), Cloudinary (media), Chapa (payments), Google OAuth, Gemini (AI).

Local Setup Backend (JobSphere):

cd C:\Users\Hp\Desktop\HireNestBackend\Jobsphere\jobSite
mvn spring-boot:run

Frontend (HireNest):

cd C:\Users\Hp\Desktop\HireNestBackend\HireNest
npm install
npm run dev

Frontend runs on http://localhost:5173. Backend runs on http://localhost:8080.

Environment Variables Frontend (C:\Users\Hp\Desktop\HireNestBackend\HireNest\.env):

Variable Description Example
VITE_API_BASE_URL Backend base URL http://localhost:8080
VITE_ENV Environment development

Backend (C:\Users\Hp\Desktop\HireNestBackend\Jobsphere\jobSite\src\main\resources\application.properties):

Variable Description
DB_URL PostgreSQL JDBC URL
DB_USERNAME DB username
DB_PASSWORD DB password
JWT_SECRET JWT signing secret
GOOGLE_CLIENT_ID Google OAuth client id
GOOGLE_CLIENT_SECRET Google OAuth client secret
BREVO_SMTP_USERNAME Brevo SMTP username
BREVO_SMTP_KEY Brevo SMTP key
GEMINI_API_KEY Gemini API key

Note: Chapa and Cloudinary keys are currently set directly in application.properties. For production, move them to environment variables.

API Overview (selected)

  • Auth: /api/v1/auth/*, /api/v1/admin/auth/*
  • Jobs: /api/v1/jobs, /api/v1/jobs/{id}, /api/v1/jobs/{id}/like, /api/v1/jobs/saved
  • Applications: /api/v1/applications
  • Seeker profile: /api/v1/seekers/profile and /api/v1/seekers/profile/details/*
  • Employer: /api/v1/company-profile, /api/v1/employer/verification, /api/v1/employer/analytics/stats
  • Admin: /api/v1/admin/users, /api/v1/admin/cv-templates, /api/v1/admin/company-verifications, /api/v1/admin/analytics/stats
  • CV builder: /api/v1/cv-builder/*
  • Payments: /api/v1/payments/*
  • Notifications: /api/v1/notifications/*
  • AI: /api/v1/ai/chat

Screenshots Home page image

User Login page image

Admin Login page image

Seeker Dashboard image

Employer Dashboard image

Admin Dashboard image

Job management page image_2025-12-24_01-37-32

Payment page image_2025-12-24_03-14-30

About

HireNest is a full-stack job platform that enables skill-based job discovery through smart recommendation logic. It supports role-based access for job seekers and employers, match-score driven job listings, and structured profiles, built with React and Spring Boot for scalable, real-world hiring workflows.

Resources

Stars

1 star

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages