Job App API
Job App API is a backend RESTful API that is build in NodeJS that include features like: jobs, users, authentication etc.
Get all jobs that are stored in DB.
GET {{DOMAIN}}/api/v1/jobs
Create new Job
None
None
{
"title": "DevOps",
"description": "Must be a full-stack developer, able to implement everything in a MEAN or MERN stack paradigm (MongoDB, Express, Angular and/or React, and Node.js).",
"email": "employeer1@gmail.com",
"address": "200 Olympic Dr, Stafford, VA 22554-7763, US",
"company": "Knack Ltd",
"industry": [
"Information Technology"
],
"jobType": "Permanent",
"minEducation": "Bachelors",
"positions": 10,
"experience": "5+ years",
"salary": "355000"
}
POST {{DOMAIN}}/api/v1/job/new
{
"title": "DevOps",
"description": "Must be a full-stack developer, able to implement everything in a MEAN or MERN stack paradigm (MongoDB, Express, Angular and/or React, and Node.js).",
"email": "employeer1@gmail.com",
"address": "200 Olympic Dr, Stafford, VA 22554-7763, US",
"company": "Knack Ltd",
"industry": [
"Information Technology"
],
"jobType": "Permanent",
"minEducation": "Bachelors",
"positions": 10,
"experience": "5+ years",
"salary": "355000"
}
None
GET {{DOMAIN}}/api/v1/jobs/22554-7763/55
None
{
"title": "Node JS Developer"
}
PUT {{DOMAIN}}/api/v1/job/61bcbf57964427299434a4bc
{
"title": "Node JS Developer"
}
None
DELETE {{DOMAIN}}/api/v1/job/61d0cfb0a548a8ac075e26d9
None
GET {{DOMAIN}}/api/v1/job/61bcbf57964427299434a4bc/node-developer
None
GET {{DOMAIN}}/api/v1/stats/php
Apply to any job with resume attachment (pdf|doc|docx)
None
None
PUT {{DOMAIN}}/api/v1/job/61cd63457a04b32686f2b36b/apply
Register a user with email, password and role. Encrypted password will be saved in DB.
None
{
"name": "chriscupas",
"email": "chriscupas@yahoo.com",
"password": "asd123",
"role": "employeer"
}
POST {{DOMAIN}}/api/v1/register
{
"name": "chriscupas",
"email": "chriscupas@yahoo.com",
"password": "asd123",
"role": "employeer"
}
Login user with email and password
None
{
"email": "chriscupas@outlook.com",
"password": "asd123"
}
POST {{DOMAIN}}/api/v1/login
{
"email": "chriscupas@outlook.com",
"password": "asd123"
}
Send password reset email with token and expire time.
None
{
"email": "user@yahoo.com"
}
POST {{DOMAIN}}/api/v1/password/forgot
{
"email": "user@yahoo.com"
}
Reset new password of that account.
None
{
"password": "asd123$$"
}
PUT http://localhost:3000/api/v1/password/reset/64f529feb30c38478d66fb8774a22c9cfd29e66e
{
"password": "asd123$$"
}
Log out user from API and expires the cookie
None
GET {{DOMAIN}}/api/v1/logout
Gives data of currently logged in user
None
GET {{DOMAIN}}/api/v1/me
Change the currently logged-in user password
None
{
"currentPassword": "123456",
"newPassword": "asd123"
}
PUT {{DOMAIN}}/api/v1/password/update
{
"currentPassword": "123456",
"newPassword": "asd123"
}
Update the currently logged in user data like name & email
None
{
"name": "chris cupas",
"email": "chriscupastest@yahoo.com"
}
PUT {{DOMAIN}}/api/v1/me/update
{
"name": "chris cupas",
"email": "chriscupastest@yahoo.com"
}
Delete currently logged in user with its file
None
DELETE {{DOMAIN}}/api/v1/me/delete
Show all jobs applied by currently logged in user
GET {{DOMAIN}}/api/v1/jobs/applied
Gives all jobs that are currently logged in employeer or admin.
GET {{DOMAIN}}/api/v1/jobs/published
Show all users. Admin only routes
GET {{DOMAIN}}/api/v1/users
Delete user or employeer. Only accessible admin.
DELETE {{DOMAIN}}/api/v1/users/61cd6640d71bd460775ce7e4