Ecosyste.ms: Awesome

An open API service indexing awesome lists of open source software.

Awesome Lists | Featured Topics | Projects

https://github.com/surajmendhe5573/jobhuntplatform

A web-based job board platform connecting job seekers with employers, offering comprehensive features for efficient recruitment.
https://github.com/surajmendhe5573/jobhuntplatform

backend-api expressjs jsonwebtoken mongodb mongoose nodejs nosql-database restfull-api

Last synced: 6 days ago
JSON representation

A web-based job board platform connecting job seekers with employers, offering comprehensive features for efficient recruitment.

Awesome Lists containing this project

README

        

# Job Application Backend APIs

This is the backend for a job portal application that allows users to register as either employers or job seekers, browse jobs, apply for jobs, post job listings, and manage job applications.

The Job Application Platform is a comprehensive web application designed to streamlines the process of job seeking and hiring. It caters to both job seekers and employers, offering a range of features to facilitate the job application process.

## Features

### For Job Seekers
- **User Registration**: Job seekers can create accounts to access the platform's features.
- **User Login**: Secure login functionality for registered users.
- **Browse Jobs**: Explore a diverse range of available job listings.
- **Search Jobs**: Efficiently search for jobs by title, location, or category.
- **View Job Details**: Access detailed information about each job listing.
- **Apply for a Job**: Job seekers can apply for jobs by submitting their resume and cover letter directly through the platform.
- **View Profile**: Ability to view and update profile information to maintain accuracy.

### For Employers
- **User Registration**: Employers can create accounts to post job listings and manage applications.
- **User Login**: Secure login functionality for registered employers.
- **Post a Job**: Employers can post job listings, providing comprehensive details about the position.
- **Manage Job Listings**: Flexibility to edit or delete posted job listings as needed.
- **View Applications**: Employers can view and manage job applications submitted by job seekers.
- **View Profile**: Ability to view and update profile information to maintain accuracy.

## API Endpoints

### Authentication

- `POST /api/auth/register`: Register a new user as either an employer or a job seeker.
- `POST /api/auth/login`: Log in to an existing user account.

### Jobs

- `GET /api/jobs`: Get a list of available job listings.
- `GET /api/jobs/:id`: Get detailed information about a specific job listing.
- `POST /api/jobs`: Post a new job listing (only for employers).
- `PUT /api/jobs/:id`: Update an existing job listing (only for employers).
- `DELETE /api/jobs/:id`: Delete a job listing (only for employers).
- `GET /api/jobs/search?title=keyword`: Search for jobs by title.
- `GET /api/jobs/search?location=location`: Search for jobs by location.
- `GET /api/jobs/search?category=category`: Search for jobs by category.

### Applications

- `POST /api/jobs/:id/apply`: Apply for a job by submitting a resume and cover letter (only for job seekers).
- `GET /api/jobs/:id/applications`: Get a list of applications for a specific job listing (only for employers).
- `PUT /api/jobs/:jobId/applications/:appId`: Update the status of a job application (only for employers).

### User Profile

- `GET /api/user/profile`: Get user profile information.
- `PUT /api/user/profile`: Update user profile information.

## Installation and Setup

1. Clone this repository.
2. Install dependencies: `npm install`.
3. Configure environment variables.
4. Run the server: `npm start`.

## Environment Variables

Create a `.env` file in the root directory of the project with the following variables:

```
PORT=3000
MONGODB_URI=mongodb://localhost/job_portal
JWT_SECRET=your_secret_key
```

## Technologies Used
- **Node.js**: Backend runtime environment.
- **Express.js**: Web application framework for Node.js.
- **MongoDB**: NoSQL database for data storage.
- **JSON Web Tokens (JWT)**: Secure authentication mechanism.
## Contributing

Contributions are welcome! Feel free to open issues or submit pull requests.

## License

This project is licensed under the MIT License - see the [LICENSE](LICENSE) file for details.

## 🚀 About Me
I'm a Backend developer...

## 🔗 Links
[![portfolio](https://img.shields.io/badge/my_portfolio-000?style=for-the-badge&logo=ko-fi&logoColor=white)](https://github.com/surajmendhe5573)
[![linkedin](https://img.shields.io/badge/linkedin-0A66C2?style=for-the-badge&logo=linkedin&logoColor=white)](https://www.linkedin.com/in/suraj-mendhe-569879233/?original_referer=https%3A%2F%2Fsearch%2Eyahoo%2Ecom%2F&originalSubdomain=in)
[![twitter](https://img.shields.io/badge/twitter-1DA1F2?style=for-the-badge&logo=twitter&logoColor=white)](https://twitter.com/)