Basic User System (reactjs & nodejs)

My first Nodejs project, its a user system with some features.

• Features:

  • Signing up a new account, it does tell you how strong your password is and if the username is already taken or not.
  • Logging to an existing account, will store an auth token in both database and browser (HttpOnly secure cookie in your browser).
  • The ability to upload an avatar to the database, the ability to remove it too (avatars are stored as binary data).
  • The ability to change the password for your existing account.
  • Logging out from your account, it will remove the recently used token from the database too.
  • All data are stored in a MongoDB database.

Packages and tech i used to make this app:
• Frontend:

  • Reactjs hooks: useState, useEffect, useContext.
  • React router.
  • Other Npm packages: validator, axios.

• Backend:

  • Nodejs: express, mongoose (MongoDB), REST APIs.
  • Other Npm packages: validator, bcryptjs, jsonwebtoken, cookie-parser, bad-words, multer, sharp.
  • Npm packages i used for development only: env-cmd, nodemon.

alt text

alt text

alt text

alt text

alt text