Royal is an exclusive clothing store app where users can log in with enhanced security through two-factor authentication (2FA). The app offers a personalized shopping experience, allowing users to explore and purchase from a curated selection of fashion based on their style preferences.
- Modern UI: The application boasts a visually appealing and intuitive user interface, providing a streamlined browsing and shopping experience.
- Smooth and Easy Checkout: Add items to your cart with a simple tap, view your selections at a glance, and proceed to a streamlined checkout process, making your shopping experience smooth and enjoyable.
- Never Lose Your Picks: Items added to your shopping cart remain saved, even if you close the browser or app. Resume your shopping seamlessly at any time, with your selections waiting for you just where you left them.
- Secure Login: The app ensures robust protection of user data and privacy with two-factor authentication (2FA), offering a secure login process that combines convenience with advanced security measures.
- Clone the repo
git clone https://github.com/KenMain5/Royal-E-commerce.git
- Install NPM packages
npm install
- Run the application
npm start
GET /
This is the endpoint that the client request gets when they access the website. The server sends the main page of the website.
POST /register
What happens in the server side, it validates the input received from the client, checks if the email is currently being used, if not, it hashes the password and stores all the information along with the hashed password by doing a Parametized SQL Query.
POST /signin
What happens in the server side, is that it grabs the hashed password that goes along with the username that the client sends, afterwards, we use
the BCrypt method to compare the two password hashes. If it is successful, then the user would be logged in.
This is one of the projects I'm really proud of because it's very fun to do and I learned a lot.
How to deploy a PostGreSQL database(using SupaBase).
Parametized SQL Query (to defend better from Script Attacks)
How passwords are supposed to be stored in databases (Salting and Hashing).
Had more practice with Asynchronous functions(Async, Await, Catch, Then)
One thing I do miss though is working and coding with other people in software projects.