Skip to content

rizzaldev/Job-Posting-App

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

25 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Restful Api Jop Posting App


Table Of Contents



Introduction

Restful Api Job Posting app is an application program interface (API) that uses HTTP requests to GET, PUT, POST and DELETE data to people that want a job or company that want hire an employee.


Prerequiste

  • Node.js - Download and Install Node.js - Simple bash script to manage multiple active node.js versions.

  • Nodemon - Download and Install Nodemon - nodemon is a tool that automatically restarting the node application when file changes in the directory are detected.


Feature

  • CRUD Jobs
  • CRUD Companies
  • Validation schema
  • Search job by name
  • Sort job by name, company, and date updated
  • Pagination
  • Upload logo
  • Allowed CORS
  • Authentication with JWT

Stacks

  • NodeJS
  • MySQL
  • ExpressJS
  • JWT
  • Bcryptjs
  • multer

Installation

Clone

$ git clone https://github.com/FakhrurR/Job-Posting-App.git
$ cd Job-Posting-App
$ npm install

Create Environment Variable

$ cp .env.example .env
$ nano .env
# DATABASE
PORT = 'port for express'

DB_HOST = 'your_db_host'
DB_USER = 'your_db_user'
DB_PASSWORD = 'your_password_db'
DB_NAME = 'database_name'
DB_PORT = ''

# SECRET KEY
API_JWT_SECRET=''

Start Development Server

$ npm start

API Docs

Jobs

Method Endpoint Description Request Param Request Body Request Query
GET /job Get jobs - - name: STRING, company: STRING,limit: NUMBER, page: NUMBER, sortby: STRING,orderby: STRING
GET /job:id Get one job by id id: STRING (UUID) - -
POST /job Create new job - name: STRING,location: STRING,salary:STRING,description: STRING ,category_id: STRING, compant_id:STRING -
PATCH /job:id Update job id: STRING (UUID) name: STRING,location: STRING,salary:STRING,description: STRING ,category_id: STRING, compant_id:STRING -
DELETE /job:id Delete job id: STRING (UUID) - -

Company

Method Endpoint Description Request Param Request Body
GET /company Get company - -
GET /company/:id Get one company id: STRING (UUID) -
POST /companiy Create new company - name: STRING,location: STRING,logo: STRING (IMAGE),description: STRING
PATCH /company/:id Update company id: STRING (UUID) name: STRING,location: STRING,logo: STRING (IMAGE),description: STRING
DELETE /company/:id Delete company id: STRING (UUID) -

Category

Method Endpoint Description Request Param Request Body
GET /categories Get category - -
GET /categories/:id Get one category id: INT -
POST /categories Create new category - category: STRING
PATCH /categories/:id Update category id: INT category: STRING
DELETE /categories/:id Delete category id: INT -

User

Method Endpoint Description Request Param Request Body Request Headers
GET /user Get all user id: STRING (UUID) - -
GET /user/:id Get one user id: STRING (UUID) - -
PATCH /user/:id Get one user id: STRING (UUID) email: STRING, password: STRING bearer: token
DELETE /user/:id Get one user id: STRING (UUID) - -

Auth

Method Endpoint Description Request Headers Request Body
POST /user/login/ Login user - email: STRING, password: STRING
POST /user/signup/ Register user - email: STRING, password: STRING


License and Support

For API support, please contact me FakhrurR

Copyright © 2019 by Fakhrur Rijal

About

Restful Api Job Posting Api

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published