Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
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.
- Host: GitHub
- URL: https://github.com/itsproali/job-portal-api
- Owner: itsproali
- Created: 2022-10-13T05:48:16.000Z (over 2 years ago)
- Default Branch: main
- Last Pushed: 2022-12-25T17:19:40.000Z (about 2 years ago)
- Last Synced: 2024-11-06T06:33:35.204Z (3 months ago)
- Topics: expressjs, itsproali, jwt-authentication, mohammad-ali, mongodb-database, mongoose, nodejs, server
- Language: JavaScript
- Homepage: job-portal-api-three.vercel.app
- Size: 69.3 KB
- Stars: 1
- Watchers: 1
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: Readme.md
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
- DotenvThank you so much for viewing this project. If found this helpful don't forget to click on star.