Skip to content

getabalewKemaw/Etworks

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

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors

Languages