A full-stack e-commerce application designed to provide a seamless online shopping experience for fashion enthusiasts. This platform focuses on a modern UI/UX, robust state management, and efficient backend integration, ensuring smooth navigation, product exploration, and purchase completion.
- Responsive grid display showcasing products.
- Displays images, names, brands, and prices.
- Add to Bag button for quick cart addition.
- Optimized mobile & desktop views.
Tech Stack:
- React Components for rendering.
- Tailwind CSS for modern, responsive styling.
- Dynamic product fetching from backend API.
- Detailed product page/modal on click.
- Displays description, price, mock reviews.
- "Add to Bag" functionality.
- Smooth modal transitions for better UX.
Enhancements:
- Intuitive product information layout.
- Optimized for mobile-first design.
- Accessible via navigation bar.
- Side-drawer/modal interface.
- Displays:
- Added products.
- Product quantities.
- Individual & total prices.
- Remove & quantity adjust options.
State Management:
- Real-time updates for cart.
- Persistent cart state for user sessions.
- Implemented using React Context API.
- Centralized handling for:
- User authentication.
- Shopping cart.
- Product interactions.
- Ensures smooth UX across components.
- React + Vite β‘
- Tailwind CSS for UI design.
- React Context API for state management.
- Node.js + Express for API development.
- MongoDB π for data persistence.
- JWT-based authentication.
- Cloudinary for image storage & optimization.
- Custom REST APIs for product handling.
- Dynamic product data fetching.
- Mock data insertion via Bruno API testing.
GET /products/list- Fetch all products.POST /products/single- Fetch single product details.
POST /cart/get- Retrieve userβs cart.POST /cart/add- Add item to cart.POST /cart/update- Update cart items.
POST /user/register- User registration.POST /user/login- User authentication.
- Complex UI/UX: Ensuring intuitive, responsive design.
- State Management: Efficient handling of global states.
- React Context API for centralized state handling.
- Reusable & modular components.
- Mobile-first approach for better performance.
clothing-e-commerce/
βββ backend/
β βββ config/
β β βββ cloudinary.js # Cloudinary image upload configuration
β β βββ mongodb.js # MongoDB database connection setup
β β
β βββ controllers/
β β βββ cartController.js # Handles cart-related operations (add, remove, update)
β β βββ orderController.js # Manages order creation, tracking, and processing
β β βββ productController.js # CRUD operations for product management
β β βββ userController.js # User authentication and profile management
β β
β βββ middleware/
β β βββ adminAuth.js # Middleware for admin route protection
β β βββ auth.js # JWT authentication middleware
β β βββ multer.js # File upload middleware configuration
β β
β βββ models/
β β βββ orderModel.js # Mongoose schema for orders
β β βββ productModel.js # Mongoose schema for products
β β βββ userModel.js # Mongoose schema for user accounts
β β
β βββ routes/
β β βββ cartRoute.js # API routes for cart operations
β β βββ orderRoute.js # API routes for order management
β β βββ productRoute.js # API routes for product CRUD
β β βββ userRoute.js # API routes for user authentication
β β
β βββ .env # Environment variables (DB connection, secrets)
β βββ .gitignore # Git ignore file
β βββ package.json # Backend dependencies and scripts
β βββ package-lock.json # Locked dependency versions
β βββ server.js # Main Express server entry point
β βββ bruno-testing/ # Bruno API testing collection
β
βββ frontend/
β βββ node_modules/ # React dependencies
β βββ public/ # Static assets
β β
β βββ src/
β β βββ assets/ # Static images, logos, etc.
β β β
β β βββ components/ # Reusable React components
β β β βββ BestSeller.jsx # Best-selling products component
β β β βββ CartTotal.jsx # Cart total calculation component
β β β βββ Footer.jsx # Site footer component
β β β βββ Hero.jsx # Landing page hero section
β β β βββ LatestCollection.jsx # Latest product collection display
β β β βββ Navbar.jsx # Site navigation component
β β β βββ NewsletterBox.jsx # Newsletter signup component
β β β βββ OurPolicy.jsx # Store policies display
β β β βββ ProductItem.jsx # Individual product display
β β β βββ RelatedProducts.jsx # Related products suggestion
β β β βββ SearchBar.jsx # Product search functionality
β β β βββ Title.jsx # Reusable page title component
β β β
β β βββ context/ # React context for global state
β β β βββ ShopContext.jsx # Shopping cart and user context
β β β
β β βββ pages/ # Individual page components
β β β βββ About.jsx # About us page
β β β βββ Cart.jsx # Shopping cart page
β β β βββ Collection.jsx # Product collection page
β β β βββ Contact.jsx # Contact us page
β β β βββ Home.jsx # Landing/homepage
β β β βββ Login.jsx # User login page
β β β βββ Orders.jsx # User order history
β β β βββ PlaceOrder.jsx # Order placement page
β β β βββ Product.jsx # Individual product details page
β β β βββ Verify.jsx # User verification page
β β β βββ Products.jsx # All products listing page
β β β
β β βββ App.jsx # Main React application component
β β βββ index.css # Global CSS styles
β β βββ main.jsx # React application entry point
β β βββ vite.config.js # Vite configuration
β β
β βββ .gitignore # Git ignore file
β βββ index.html # Main HTML entry point
β βββ package.json # Frontend dependencies and scripts
β βββ package-lock.json # Locked dependency versions
β
βββ README.md # Project documentation
https://clothing-e-c.netlify.app/
https://clothing-e-commerce-1.onrender.com
- Node.js (v16+)
- MongoDB Account
- Cloudinary Account
git clone https://github.com/your-username/clothing-ecommerce.git
cd clothing-ecommercecd backend
npm installcd frontend
npm installCreate .env files in backend & frontend, and add:
MONGODB_URI=your_mongodb_connection_string
JWT_SECRET=your_jwt_secret
CLOUDINARY_URL=your_cloudinary_connection_url# Start backend
npm run dev
# Start frontend
npm run dev- Fork the repository.
- Create your feature branch (
git checkout -b feature-xyz). - Commit your changes (
git commit -m 'Added feature XYZ'). - Push to the branch (
git push origin feature-xyz). - Open a Pull Request.
π§ Email: sudhanssudhan83@gmail.com
π LinkedIn: Connect on LinkedIn
π GitHub: GitHub Profile









