JobEase - Explore & Manage Jobs πΌ
An API to explore and manage jobs with ease. Update your recruitment process status on the go and stay ahead in the game.
Run Locally
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
Environment Variables
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
Deployed Links
https://jobease.herokuapp.com
π
API - https://jobease.live
π
Front-end - Security
helmet
cors
xss-clean
express-rate-limit
API Reference/Endpoints
Register a new user
POST /api/v1/auth/register
body | Type | Description |
---|---|---|
name |
string |
<Required> User name |
email |
string |
<Required> User Email |
password |
string |
<Required> Password |
Login a user
POST /api/v1/auth/login
body | Type | Description |
---|---|---|
email |
string |
<Required> User Email |
password |
string |
<Required> User Password |
Get all jobs for a user
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 single job for a user
GET /api/v1/jobs/{id}
Header | Value | Type | Description |
---|---|---|---|
Authorization |
Bearer {JWT_TOKEN} |
string |
<Required> Logged User JWT_TOKEN |
Get jobs info for a user
GET /api/v1/jobs/info
Header | Value | Type | Description |
---|---|---|---|
Authorization |
Bearer {JWT_TOKEN} |
string |
<Required> Logged User JWT_TOKEN |
Create job for a user
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 |
Update job for a user
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 job for a user
DELETE /api/v1/jobs/{id}
Header | Value | Type | Description |
---|---|---|---|
Authorization |
Bearer {JWT_TOKEN} |
string |
<Required> Logged User JWT_TOKEN |
open endpoint
Get all jobs (explore) - 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> |
Authors
π About Me
I'm a full stack developer. I love working in JavaScript and related technologies.
π Skills
Javascript
jQuery
HTML
CSS
reactjs
django
php
nodejs
angular
π Socials - Say Hi π
Feedback
If you have any feedback/queries, please reach out to me at alizaidi310@gmail.com