Ecosyste.ms: Awesome

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

Awesome Lists | Featured Topics | Projects

https://github.com/itsproali/job-portal-api

Job Portal Api Fully Secured Server with Token Verification,Mongoose in MVC Architecture.
https://github.com/itsproali/job-portal-api

expressjs itsproali jwt-authentication mohammad-ali mongodb-database mongoose nodejs server

Last synced: about 1 month ago
JSON representation

Job Portal Api Fully Secured Server with Token Verification,Mongoose in MVC Architecture.

Awesome Lists containing this project

README

        

# Job Portal --- Server with Mongoose in MVC Architecture

## Credentials:

**Admin:**

- email: [email protected]
- password: Admin123#

**Hiring Manager:**

- email: [email protected]
- password: Manager123#

**Candidate:**

- email: [email protected]
- password: Candidate123#


## Features:-

- Save user password by hashing.
- Secured all the routes using JWT.
- Handle all kinds of errors.
- User can signup, login, get user information.
- HR can post, get, update jobs.
- Admin can track the job portal by some special queries.


## Routes:-

**Authentication**

```
- {POST} /user/signup ------ Create a New User Account by providing data according to User Model.
- {POST} /user/login ------ Log in with email and password to get a token.
- {GET} /user/me ------ Get User Information verifying the token.
```


**Hiring Manager Routes**

```
- {POST} /manager/jobs ------ Post a new job according to Job Model.
- {GET} /manager/jobs ------ Get All of his/her posted job.
- {GET} /manager/jobs/:id ------ Get a specific job details with candidates details.
- {PATCH} /manager/jobs/:id ------ Update a job by id.
```


**Candidate Routes**

```
- {GET} /jobs ------ Get all the jobs. There has some query options: page, limit, sort.
- {GET} /jobs/:id ------ Get a specific job with Hiring Manager details.
- {POST} /jobs/:id/apply ------ Apply for a post with these validation: can't apply twice in a job, can't apply after deadline.
```


**Admin Routes**

```
- {GET} /admin/candidates ------ Get all the candidates of the Job Portal.
- {GET} /admin/candidate/:id ------ Get a specific candidate details with Applied Job.
- {GET} /admin/managers ------ Get all Hiring Manager Info.
- {GET} /admin/top-paid-jobs ------ Get Top 10 Paid Jobs in the Job Portal.
- {GET} /admin/top-applied-jobs ------ Get Top 5 Most Applied Jobs in the Job Portal.
```


## Technologies:-

- Node JS
- Express JS
- MongoDB
- Mongoose
- Json Web Token
- Bcrypt JS
- Dotenv

Thank you so much for viewing this project. If found this helpful don't forget to click on star.