Skip to content

aayushsrivastava9760/Jobs-api

Folders and files

NameName
Last commit message
Last commit date

Latest commit

9a72f1a · Dec 19, 2021

History

6 Commits
Dec 19, 2021
Dec 19, 2021
Dec 19, 2021
Dec 19, 2021
Dec 19, 2021
Dec 19, 2021
Dec 19, 2021
Dec 19, 2021
Dec 19, 2021
Dec 19, 2021
Dec 19, 2021
Dec 19, 2021
Dec 19, 2021
Dec 19, 2021

Repository files navigation

Jobs API

A Jobs API set up done using NodeJs and ExpressJs . A backend server containing the API endpoints has been created can be found live HERE .

Routers

  • auth.js
  • jobs.js

User Model

Email Validation Regex

/^(([^<>()[\]\\.,;:\s@"]+(\.[^<>()[\]\\.,;:\s@"]+)*)|(".+"))@((\[[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\])|(([a-zA-Z\-0-9]+\.)+[a-zA-Z]{2,}))$/

Register User

  • Validate - name, email, password - with Mongoose
  • Hash Password (with bcryptjs)
  • Save User
  • Generate Token
  • Send Response with Token

Login User

  • Validate - email, password - in controller
  • If email or password is missing, throw BadRequestError
  • Find User
  • Compare Passwords
  • If no user or password does not match, throw UnauthenticatedError
  • If correct, generate Token
  • Send Response with Token

Mongoose Errors

  • Validation Errors
  • Duplicate (Email)

Swagger UI