Skip to content

Latest commit

 

History

History
52 lines (39 loc) · 2.95 KB

README.md

File metadata and controls

52 lines (39 loc) · 2.95 KB

Website Features:

  • I built a website where different restaurant owners can easily manage their billing operations, menu and also compare them with other restaurants.
  • Customers can easily browse different restaurants, see their menu on the site, compare and also estimate the bill beforehand.

Authentication Features:

  • Users must login themselves to add their restaurant to the site using their Email.
  • The password is stored in database in a hashed format using BcryptJs.
  • For Authorization, Token Based Authentication has been added using JSON Web Token (JWT) with RSA cryptographic algorithm.
  • The authenticated APIs and routes are protected and can be accessed only if user has a token assigned to him on successful login.
  • User remains logged in till the refresh token expires or the user logs out himself. The refresh token is used to generate the access token after short periods of time which is infact used for authorization.

Technologies Used:

FRONTEND

  • The FrontEnd is built using Reactjs, CSS/Bootstrap, HTML and Hooks API for state management in React.
  • Axios Library for API integration and making requests to backend.

BACKEND

  • The Backend is built using Nodejs with Express framework.
  • For database, ClearDB cloud service for MySQL is used for storing data and querying is done via Sequelize ORM.
  • Redis for mapping access and refresh tokens, used for authentication and authorization.
  • Cloudinary API for uploading and storing images on the cloud.
  • The Website is deployed on Heroku.

Other Features:

  • Comprehensive Error Handling has been added for different functions and APIs.
  • Code is fully modularized and refactored, all the buisness logic part is separated from the APIs, middlewares, models etc.

SNAPSHOTS: pic1 pic2 pic3 pic4 pic5 pic6 pic7 pic8 pic9 pic10