Overview
The BestBags ecommerce website is built using Node.js, Express.js, and Mongoose, providing users with a virtual shopping experience resembling a real store. Users can browse products, add items to their cart, and complete a checkout process. The application utilizes technologies such as Stripe API for payments, Mapbox API for map integration, and AdminBro for admin panel management.
Features
- User Authentication: Users can create an account, log in, and log out of the website.
- Product Management: Admin can add products to the store for users to browse and purchase.
- Shopping Cart: Users can add and remove products from the shopping cart.
- Checkout Process: Users can proceed to checkout and make payments using the Stripe payment gateway.
- Admin Panel: Access to an admin panel where the admin can manage products and view orders.
Installation
Set up environmental variables in a
.envfile at the root of the project:- MONGO_URI: MongoDB Atlas connection string
- SESSION_SECRET: Secret message for session
- STRIPE_PRIVATE_KEY: Private API key for Stripe payments
- GMAIL_EMAIL, GMAIL_PASSWORD: Email and password for nodemailer
- ADMIN_EMAIL, ADMIN_PASSWORD: Credentials for admin panel login
- ADMIN_COOKIE_NAME, ADMIN_COOKIE_PASSWORD: Credentials for AdminBro authentication
Run the following commands in the terminal:
node seedDB/category-seed.js node seedDB/products-seed.js npm startAccess the application at the designated port and explore the features.
Summary
The BestBags ecommerce website offers a user-friendly interface for virtual shopping, complete with user authentication, product management, and a seamless checkout process. With the ability to set up environmental variables, users can customize the application to their needs and enjoy a secure and efficient shopping experience.