Thanks to visit codestin.com
Credit goes to github.com

Skip to content

Node API and Client used for managing users and their favourite bands

Notifications You must be signed in to change notification settings

mehta55/node-api-and-client

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

20 Commits
 
 
 
 
 
 
 
 
 
 

Repository files navigation

node-api-and-client

Node API and Client used for managing users and their favourite bands

Author : Sahil Mehta

BandsAPI

  • A separate API used for all CRUD operation on User and their Bands.

  • Sequelize ORM is used for manipulating data in database.

  • MySQL Database used to store User and Bands data.

  • URLs for API are:

    • GET:
      • /api/users/user/:uid -> Get user profile
      • /api/users/:uid/bands -> Get all bands of user
      • /api/users/:uid/bands/band/:bid -> Get specific band of user
    • POST:
      • /api/users/verify-otp -> Gets otp of user that matches email in request body
      • /api/users -> Creates a new user
      • /api/users/user -> Gets password of a user that matches email in request body
      • /api/users/:uid/bands -> Creates new band for a user
    • PUT:
      • /api/users/reset-pswd -> updates password of user that matches email in the request body
      • /api/users/send-otp -> updates otp of a user that matches email in request body
      • /api/users/user/:uid -> Updates user profile
      • /api/users/:uid/bands/band/:bid -> Update specific band of user
    • DELETE:
      • /api/users/:uid/bands/band/:bid -> Deletes specific band of user

BandsAPP :

  • Application that manages users and their bands.
  • Consumes BandsAPI.
  • Encrypts password using bcrypt package.
  • Has forgot password functionality, which allows user to reset their password by verifying OTP sent to their registered email.
  • Uses express-session to maintain user sessions and avoid unauthorized access to a resource
  • Uses node-fetch to consume API.
  • All views are powered by ejs(Embedded JavaScript).

Views :

Register screen

Register-screen

Login screen

Login-screen

Home screen

Home-screen

Profile screen

Profile-screen

Add band screen

Add-band-screen

Edit band screen

Edit-band-screen

Logout screen

Logout-screen

Reset password - Wrong email input

Reset-password-wrong-email-input-screen

Reset password - Email not registered

Reset-password-email-not-registered

Reset password screen

Reset-password-screen

Reset password - Verify OTP scrren

verify-otp

Emailed OTP screen

email-otp

Reset password - Incorrect OTP

Reset-password-incorrect-otp

Reset password - OTP Verified screen

otp-verified

Reset password - success

reset-password-success

Releases

No releases published

Packages

No packages published