Amazon App (with + 170 K products)
An Amazon fully responsive clone with a separated frontend, backend and dabatabase. The website is live here with more than 170 000 products from Amazon:
Frontend
See more information in my github page: https://github.com/koriditmeyer/SPAapp
- Frontend was build with Vite + React, using tailwind CSS for design, React Router v6.4 for routing, React Redux for persistence, React Query and Axios for fetching data.
Shopping Flow
Search area with corresponding results
Search results page along with categories associated and category filter
pagination
product description with gallery and product caracteristics, price, stock…
Cart with functionalities to modify quantity, delete product(s)
Checkout
Profile features
Profile page with different functionalities according to user role: Add product panel, admin panel…
Add product with drag and drop image area
Admin panel
User Panel
Other Features
Loading Skeleton and toast information
Unauthorized page automatic redirection
404 not found page
popup
Registration with email confirmation
login
Backend
See more information in my github page: https://github.com/koriditmeyer/ecommerceBackendMVC
- Backend was build with Node JS, with a Model–view–controller (MVC) architecture implementing here: Routes, Controller, Services, Repositories, DAO and DTO. The backend use Express for endpoint management, Mongoose for Database connexion and Mongoose paginate V2 for pagination, Passport with JWT for user authentication, BCrypt for password hash, Multer for file handling, NodeMailer to send emails…
- The backend endpoint Documentation was done using swagger
- The backend Testing was done using Mocha, Chai and Supertest. Artillery was also use to check load charge
- The backend was containerized using Docker
Database
- The products, users, carts, categories… are stored in a MongoDB Atlass dabatase.