An API to explore and manage jobs with ease. Update your recruitment process status on the go and stay ahead in the game.
Clone the project
git clone https://github.com/SyedAli310/jobs-api-node-js.git
Go to the project directory
cd my-project
Install dependencies
npm install
Start the server
npm run start
To run this project, you will need to add the following environment variables to your .env file
MONGO_URI
- Your mongoDB connection string
JWT_SECRET
- Your secret string for JWT auth
JWT_LIFETIME
- JWT expiration duration
API - https://jobease.herokuapp.com
🔗
Front-end - https://jobease.live
🔗
helmet
cors
xss-clean
express-rate-limit
POST /api/v1/auth/register
body | Type | Description |
---|---|---|
name |
string |
<Required> User name |
email |
string |
<Required> User Email |
password |
string |
<Required> Password |
POST /api/v1/auth/login
body | Type | Description |
---|---|---|
email |
string |
<Required> User Email |
password |
string |
<Required> User Password |
GET /api/v1/jobs
Header | Value | Type | Description |
---|---|---|---|
Authorization |
Bearer {JWT_TOKEN} |
string |
<Required> Logged User JWT_TOKEN |
Parameter | Type | Allowed Values | Description |
---|---|---|---|
status |
string |
<pending> <interview> <declined> |
<optional> Jobs with <status> |
position |
string |
any query string | <optional> Jobs matching <position> |
company |
string |
any query string | <optional> Jobs matching <company> |
sort |
string |
<createdAt> <updatedAt> <company> <position> |
<optional> Jobs sorted <Allowed values> . Multiple comma-seperated values allowed |
GET /api/v1/jobs/{id}
Header | Value | Type | Description |
---|---|---|---|
Authorization |
Bearer {JWT_TOKEN} |
string |
<Required> Logged User JWT_TOKEN |
GET /api/v1/jobs/info
Header | Value | Type | Description |
---|---|---|---|
Authorization |
Bearer {JWT_TOKEN} |
string |
<Required> Logged User JWT_TOKEN |
POST /api/v1/jobs
Header | Value | Type | Description |
---|---|---|---|
Authorization |
Bearer {JWT_TOKEN} |
string |
<Required> Logged User JWT_TOKEN |
body | Type | Description |
---|---|---|
company |
string |
<Required> Company name |
position |
string |
<Required> Job position |
link |
string |
<Required> Job link/URL |
status |
string |
<Required> Job/Application status |
PATCH /api/v1/jobs/{id}
Header | Value | Type | Description |
---|---|---|---|
Authorization |
Bearer {JWT_TOKEN} |
string |
<Required> Logged User JWT_TOKEN |
body | Type | Description |
---|---|---|
company |
string |
<optional> Updated company |
position |
string |
<optional> Updated position |
link |
string |
<optional> Updated link/URL |
status |
string |
<optional> Updated status |
DELETE /api/v1/jobs/{id}
Header | Value | Type | Description |
---|---|---|---|
Authorization |
Bearer {JWT_TOKEN} |
string |
<Required> Logged User JWT_TOKEN |
GET /api/v1/explore/jobs
Parameter | Type | Allowed Values | Description |
---|---|---|---|
company |
string |
any query string | <optional> Jobs matching <company> |
position |
string |
any query string | <optional> Jobs matching <position> |
limit |
number |
any positive number | <optional> Number of jobs per page <limit> |
page |
number |
any positive number | <optional> Jobs on page number <page> |
I'm a full stack developer. I love working in JavaScript and related technologies.
Javascript
jQuery
HTML
CSS
reactjs
django
php
nodejs
angular
If you have any feedback/queries, please reach out to me at [email protected]