Skip to content

102AMIT/E-commerce-webSite

Folders and files

NameName
Last commit message
Last commit date

Latest commit

Β 

History

23 Commits
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 

Repository files navigation

Project README πŸš€

Welcome to our awesome project on GitHub! Here, we're excited to share with you the key features and technologies that make our project scalable, modular, and user-friendly. Let's dive in! πŸ’‘

Backend Features πŸ–₯️

  1. Scalability and Modularity πŸ“ˆ

    Our backend stands out for its scalability and modularity. We've incorporated the DRY (Don't Repeat Yourself) principle to ensure efficient code maintenance and extensibility. This allows us to easily add new features and enhance existing ones without duplicating code.

  2. Error Handling 🚨

    We've streamlined error handling using an error handler class implemented in middleware/error.js. This centralizes error management, making it unnecessary to scatter try-catch blocks throughout the codebase.

  3. Uncaught Error Handling ❌

    We've tackled uncaught errors like wrong Mongoose ObjectId inputs, providing clear and user-friendly error messages when incorrect IDs are used in URLs or params.

  4. Product Search, Filtering, and Pagination πŸ”πŸŽ›οΈ

    In the utils folder, we've introduced the apiFeatures module. This module facilitates product search, filtering, and pagination by utilizing query strings. Users can easily find products by matching characters and apply filters to narrow down results.

  5. User Authentication and Security πŸ”

    Our backend employs industry-standard security practices. We utilize Bcryptjs for password hashing, JWT for token creation and refresh, and the Validator package to validate emails, ensuring a robust and secure authentication process.

  6. Password Reset Functionality πŸ”‘

    We've implemented a user-friendly password reset feature that sends email notifications. Nodemailer is employed to handle the email sending process seamlessly.

  7. Order Management with Admin Tracking πŸ“¦πŸ‘¨β€πŸ’Ό

    Creating an order model presented unique challenges due to its interrelation with products and stock management. We successfully overcame these challenges, providing a smooth order processing experience. Some routes are also admin-controlled, adding a layer of versatility to the system.

Frontend Highlights πŸ’»

  1. Dynamic Typography in Footer βœ’οΈ

    We've added a captivating typewriter effect to our footer, making the user experience more engaging and memorable.

  2. Styling with Ease Using CSS Clip Path 🎨

    For effortless styling, we've employed the CSS clip-path technique. We recommend using tools like CSS Clip Path Maker to effortlessly create diverse shapes and sizes to suit your design requirements.

  3. Intuitive Rating System ⭐

    The rating system is powered by the React Star package. By simply passing an object, the component handles the rendering of star ratings, simplifying the feedback process for users.

  4. Dynamic Page Titles with Helmet πŸ“Œ

    We've integrated the Helmet package to dynamically update page titles. Each page can now have a unique title, enhancing SEO and user experience.

  5. Effortless State Management with Redux πŸ”„

    To ensure centralized data storage and seamless state management, we've incorporated Redux. This provides a convenient way to access data across various components throughout the app.

  6. Personalized Loader Animation ⏳

    We've designed a custom loader animation to provide users with visual feedback during asynchronous processes, enhancing the overall user experience.

Feel free to explore our project and contribute to its growth. We're excited to have you on board! πŸ˜„πŸŽ‰

About

E-commerce web app

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published