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.gitGo to the project directory
cd my-projectInstall dependencies
npm installStart the server
npm run startTo 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.vercel.app 🔗
Front-end - https://jobease-api.vercel.app 🔗
helmetcorsxss-cleanexpress-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]