Skip to content

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

10 Commits
 
 
 
 
 
 
 
 

Repository files navigation

Clothify E-Commerce Project 🚀

Clothify is a fully-functional, responsive e-commerce platform built with the MERN stack (MongoDB, Express.js, React.js, Node.js). This project showcases the implementation of modern web development practices, providing users with a seamless shopping experience while empowering admins with a robust product and order management system.


🌟 Features

User Features

  • User Authentication & Authorization: Secure registration, login, and role-based access using JWT.
  • Product Browsing: Explore products with categories, brands, and filters.
  • Search Functionality: Fast and intuitive product search.
  • Dynamic Cart Management: Add, update, and remove products from the shopping cart.
  • Order Placement: Streamlined checkout process with integrated payment options.
  • Order Tracking: View order details, status, and history from the user dashboard.

Admin Features

  • Admin Dashboard: Centralized platform to manage orders, products, and users.
  • Product Management: Add, update, delete, and categorize products.
  • Order Management: View, process, and update order statuses.
  • User Management: Manage user accounts and roles.

Performance Features

  • Responsive Design: Fully optimized for mobile, tablet, and desktop devices.
  • Scalable Backend: Efficient database queries and optimized server-side performance.
  • Pagination: Smooth and efficient data loading for large product catalogs.

🛠️ Tech Stack

Frontend

  • React.js: Component-based architecture for reusable and dynamic UI.
  • React Router: Client-side routing for seamless navigation.
  • Redux Toolkit: Efficient global state management.
  • Bootstrap: Responsive, mobile-first design framework.

Backend

  • Node.js: Server-side runtime for building scalable APIs.
  • Express.js: Lightweight and flexible backend framework.
  • JWT: Secure user authentication.
  • Bcrypt.js: Password hashing for secure credential storage.

Database

  • MongoDB: NoSQL database for scalable and flexible data management.
  • Mongoose: Elegant ODM for MongoDB with schema-based data modeling.

⚙️ Key Functionalities

Database Structure

  • Users Collection: Stores user details, roles, and authentication tokens.
  • Products Collection: Detailed product information with categories and brands.
  • Orders Collection: Tracks user orders and statuses.

Integrations

  • Payment Gateway: Integrated with Stripe for secure online payments.
  • Cloudinary: For efficient image storage and management.

🚀 Getting Started

Prerequisites

  • Node.js installed.
  • MongoDB instance running locally or on the cloud.

Installation

  1. Clone the repository:

    git clone https://github.com/your-username/clothify-ecommerce.git
  2. Navigate to the project directory:

    cd clothify-ecommerce
  3. Install dependencies for both frontend and backend:

    cd frontend && npm install
    cd ../backend && npm install
  4. Set up environment variables:

    • Check example.env file in the backend and frontend directory.
    • Create a .env file in the backend and frontend directory accordingly.
  5. Start the development server:

    npm run dev
  6. Access the application:


🧪 Testing

  • Testing: Covers backend APIs using Jest.

📂 Project Structure

clothify-ecommerce/
├── frontend/        # React application
│   ├── src/         # Source files
│   ├── public/      # Public assets
│   └── package.json # Frontend dependencies
├── backend/         # Node.js API
│   ├── models/      # Database schemas
│   ├── routes/      # API routes
│   ├── controllers/ # Business logic
│   ├── middlewares/ # Custom middleware
│   └── package.json # Backend dependencies
└── README.md        # Project description

🤝 Contributing

Contributions are always welcome! Follow these steps to contribute:

  1. Fork the repository.
  2. Create a new branch:
    git checkout -b feature-name
  3. Commit your changes:
    git commit -m "Add feature"
  4. Push the branch:
    git push origin feature-name
  5. Open a Pull Request.

📄 License

This project is licensed under the MIT License.


📧 Contact

For questions or suggestions, reach out to sohaibrashed@gmail.com or create an issue in the repository.

Happy Coding! 💻✨

Releases

Packages

Contributors

Languages