cakesNbakes
A feature-rich E-commerce website for cakes & bakes, made with NodeJS in the backend, EJS in the frontend, and MongoDB as the database.
Features includes:
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
Tools and technologies used :
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 |
Pages of my website:
User side :
-
HomepageHome 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
-
RegisterUser can register by filling the validated form, and then have to verify registered email by opening the link received in the email.
-
LoginUser 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
-
ProductsIt 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
-
Product detailsThe page shows the detailed description of product with price and buttons for add to wishlist and add to cart.
-
WishlistUser can add and remove products here to save for later and can directly move to cart for placement.
-
CartUser 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'.
-
Place orderUser 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
-
Order historyUser 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.
-
ContactThis 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 side :
-
LoginAdmin can login by typing predefined email and password and enter to dashboard.
-
DashboardDashboard includes counts of reports and diagramatic representaion of reports
-
User managementAdmin can view user lists and block or unblock users
-
Category managementAdmin can view all categories, add new category, edit current categories, and remove unwanted categories only if product on that category is empty.
-
Product managementAdmin 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
-
Order managementAdmin can view all orders and update order status from this page.
-
Coupon managementAdmin can create discount coupons, remove old coupons or edit coupons from this page
-
Banner managementAdmin can add banners to display in homepage with title, description and link to category.