Hiresphere is an industry-grade, full-stack recruitment platform designed to bridge the gap between top talent and leading recruiters. Built with a focus on real-time communication, secure data handling, and a seamless user experience.
π Live Demo: https://job-portal-combined-latest.onrender.com/
- Multi-Role Authentication: Secure JWT-based login and registration for both Candidates and Recruiters.
- Enhanced Security: Stateless session management with Spring Security and custom JWT filters.
- Audit Logging: Automatic tracking of entity creation and modification timestamps.
- Advanced Search: Filter jobs by title, location, category, and salary using dynamic JPA Specifications.
- Application Lifecycle: Track applications through various stages (Applied, Interviewing, Offered, etc.) with a full status history.
- Resume Handling: Secure file upload system for candidate resumes.
- Instant Messaging: Real-time chat system between recruiters and candidates powered by WebSockets (STOMP/SockJS).
- Live Notifications: Instant in-app alerts for application updates and new messages.
- Responsive Design: Fully responsive interface built with Tailwind CSS 4.
- Smooth Animations: Interactive elements enhanced by Framer Motion.
- Type Safety: End-to-end type safety with TypeScript and Zod-like validation patterns.
- Framework: Spring Boot 3.4.1
- Security: Spring Security 6 (JWT)
- Data: Spring Data JPA, Hibernate, PostgreSQL/MySQL
- Real-time: Spring WebSocket, STOMP
- Documentation: SpringDoc OpenAPI (Swagger UI)
- Utility: Lombok, Apache Commons Lang3
- Library: React 19 (Vite)
- Styling: Tailwind CSS 4, Lucide Icons
- Animation: Framer Motion
- Networking: Axios, SockJS, StompJS
- Routing: React Router 7
- JDK 17+
- Node.js 18+
- PostgreSQL (or MySQL)
- Maven 3.x
- Clone the repository and navigate to the backend folder.
- Configure your environment in
src/main/resources/application.propertiesor create a.envfile:spring.datasource.url=jdbc:postgresql://localhost:5432/hiresphere spring.datasource.username=your_username spring.datasource.password=your_password app.jwt.secret=your_64_character_ultra_secure_secret_key
- Run the application:
./mvnw spring-boot:run
- Access API Docs:
http://localhost:8080/swagger-ui.html
- Navigate to the
frontenddirectory:cd frontend - Install dependencies:
npm install
- Start the dev server:
npm run dev
Hiresphere/
βββ backend/
β βββ src/main/java/com/jobportal/backend/
β β βββ config/ # Security, Web, WebSocket configs
β β βββ controller/ # REST Endpoints
β β βββ dto/ # Data Transfer Objects
β β βββ model/ # JPA Entities
β β βββ repository/ # Data Access Layer
β β βββ service/ # Business Logic
β βββ pom.xml
βββ frontend/
β βββ src/
β β βββ components/ # Reusable UI components
β β βββ pages/ # View components
β β βββ hooks/ # Custom React hooks
β β βββ services/ # API integration layer
β βββ package.json
βββ docker-compose.yml
- Password Hashing: BCrypt encryption for user credentials.
- CORS Configuration: Restricted origins for cross-site requests.
- File Validation: Strict MIME-type checking for resume uploads.
- Role-Based Access Control (RBAC): Fine-grained endpoint protection.
Distributed under the MIT License. See LICENSE for more information.
Developed it as an industry-grade portfolio project.