TABLE OF CONTENTS
Project Overview _____________________________________ 3
Technologies Used ___________________________________ 3
Project Details _______________________________________ 3
Key Features _______________________________________ 3
Challenges ___________________ Error! Bookmark not defined.
Future Enhancements ________________________________ 4
Project Overview
BestBags is a fully functional e-commerce platform, allowing users to browse, shop for, and
purchase a variety of bags. It provides a realistic shopping experience with features such as
product catalog, shopping cart, and secure checkout process
Technologies Used
▪ Node.js
▪ MongoDB
▪ Express.js
▪ Bootstrap
▪ FontAwesome
▪ Stripe API for payment processing
▪ Mapbox API for displaying the map on the about us page
▪ AdminBro for implementing and customizing the admin panel
▪ Nodemailer for handling emails from the contact us form
▪ Passport for authentication
▪ Express Validator for form validation
Project Details
User Features:
▪ Authentication: Users can sign up, log in, and log out securely.
▪ Product Catalog: Browse available products added by the admin.
▪ Shopping Cart: Add products to the shopping cart, delete items, and view the cart.
▪ Checkout: Secure checkout process with integration of Stripe API for payment
processing. Users must be logged in to proceed to checkout.
▪ Profile: Users can view their order history in their profile.
Admin Features:
▪ Admin Panel: Accessible at “/admin” with admin email and password.
▪ Data Management: View/add/edit/delete orders, users, products, and categories.
▪ Admin Dashboard: Provides an overview of key metrics and data.
4
How to Run
▪ Set up environmental variables in the .env file:
▪ MONGO_URI: Connection string of your MongoDB Atlas database.
▪ SESSION_SECRET: Secret message for the session.
▪ STRIPE_PRIVATE_KEY: Private API key for Stripe.
▪ GMAIL_EMAIL, GMAIL_PASSWORD: Email and password for
sending/receiving emails.
▪ ADMIN_EMAIL, ADMIN_PASSWORD: Email and password for admin login.
▪ ADMIN_COOKIE_NAME, ADMIN_COOKIE_PASSWORD: Cookie name
and password for AdminBro authentication.
▪ Navigate to the “seedDB” folder and run:
node category-seed.js node products-seed.js
Run npm start in the terminal.
Future Enhancements
▪ Implementing user reviews and ratings for products.
▪ Adding advanced search and filtering options for the product catalog.
▪ Enhancing the admin panel with analytics and reporting features.
▪ Integrating with third-party services for shipping and inventory management.
▪ Optimizing performance and scalability for handling larger volumes of traffic and data.