A feature-rich E-commerce website for cakes & bakes, made with NodeJS in the backend, EJS in the frontend, and MongoDB as the database.
In user side,
- Registration & verification
- Product list
- Wishlist
- Cart
- Order placement
- Order history
In admin side,
- Dashboard
- Category management
- Product management
- User management
- Banner management
- Coupon management
Technology | Description |
---|---|
Node JS, Express JS | For backend |
EJS | As view engine |
Mongoose | Database library |
CSS and Bootstrap | For styling |
Nodemailer | For sending emails |
Axios | For API calls |
Bcrypt | For password hashing |
Multer | For multiple file upload |
JQuery-validation | Form validation |
Razorpay | For payment integration |
Otp-generator | To generate random OTP |
Chart JS | To make diagramatic reports on admin dashboard |
-
Home page is visible for every user entering into website. It contains banners linking into categories, special products, and all categories of products. If the user is logged in, the name will show on the navbar.
Navbar difference for logged in user and other users
-
User can register by filling the validated form, and then have to verify registered email by opening the link received in the email.
-
User have to enter verified email and password to enter into shop. In case of forgot password, there is an option to set new password by matching OTP received to verified email.
Forgot password
-
It is the page that listing all products for user. User can click the button for view product, add to wishlist, or add to cart.
Hover view on single product
-
The page shows the detailed description of product with price and buttons for add to wishlist and add to cart.
-
User can add and remove products here to save for later and can directly move to cart for placement.
-
User can add or remove products to cart for order placement and can change quantity of products. Discount coupons are also available and can view by clicking the button 'Available coupons'.
-
User can select or add address for delivery and choose payment method and then place the order. After successful order placement, the window will show the below screen.
Order success page
-
User can see previous orders list and on clicking a particular order, the details of that order has shown like the image below. The cancellation of orders is available only for 2 hours from the time of order placement.
-
This is an active contact form to connect with company. User can send message through this form. There is also a location of the company.
-
Admin can login by typing predefined email and password and enter to dashboard.
-
Dashboard includes counts of reports and diagramatic representaion of reports
-
Admin can view user lists and block or unblock users
-
Admin can view all categories, add new category, edit current categories, and remove unwanted categories only if product on that category is empty.
-
Admin can view all products, add new items into categories, remove products and edit product details. There is an option in edit form to add multiple images of products and also there is a checkbox to make product vegan or special to display in those categories.
Edit form for product
-
Admin can view all orders and update order status from this page.
-
Admin can create discount coupons, remove old coupons or edit coupons from this page
-
Admin can add banners to display in homepage with title, description and link to category.