Skip to content

isabellimocci/handwork-ecommerce

Repository files navigation

Mocci & Co. Logo

React TypeScript Vite TailwindCSS Framer Motion React Router Vercel

Mocci & Co. Handwork E-commerce

Mocci & Co. Handwork is a fictional e-commerce site specializing in handmade plush toys. Developed as a portfolio project to demonstrate advanced frontend development skills, it focuses on:

  • Scalable software architecture
  • Componentization and code reuse
  • User experience (UX) and modern interface
  • Mobile-first responsive design
  • Performance and optimization

This project showcases real-world e-commerce functionality including product browsing, filtering, shopping cart management, and a complete checkout flow.

πŸ‘‰ Access the website by clicking here!

Features

Advanced Product Catalog

  • Smart Filtering System: Multi-criteria filtering by category, color, price range, and text search
  • Dynamic Sorting: Sort products by price (ascending/descending), name (A-Z/Z-A), and best-selling
  • Responsive Design: Optimized sidebar filters for mobile and desktop layouts
  • Real-time Updates: Instant filtering and sorting without page reloads

Immersive Product Experience

  • Interactive Image Gallery: Multiple product images with smooth transitions
  • Mobile-Optimized Carousel: Touch-friendly image navigation for mobile devices
  • Lightbox Integration: Full-screen image viewing with yet-another-react-lightbox
  • Product Actions: Add to cart, add to wishlist, share functionality

Seamless Shopping Flow

  • Persistent Cart State: Shopping cart maintained across sessions using React Context
  • Multi-step Checkout: Guided checkout process with shipping and payment steps
  • Form Validation: Real-time form validation with TypeScript type safety
  • Loading States: Comprehensive loading feedback throughout the purchase flow

Enhanced User Experience

  • Toast Notifications: Custom notifications using react-hot-toast
  • Micro-interactions: Smooth animations powered by Framer Motion
  • Wishlist Persistence: Favorites saved to localStorage with state management
  • Error Boundaries: Graceful error handling with custom error pages

Technologies

Category Technology
Frontend πŸ”Ή React 19 (Main library)
πŸ”Ή TypeScript (Static typing & safety)
Styling πŸ”Ή Tailwind CSS (Utility-first CSS framework)
Animations πŸ”Ή Framer Motion (Animation library)
Tools πŸ”Ή Vite (Dev environment & build tool)
Deployment πŸ”Ή Vercel (Hosting & CI/CD deployment)
Routing πŸ”Ή React Router DOM (Client-side routing)
UI/UX πŸ”Ή React Hot Toast (Notifications system)
πŸ”Ή React Icons (Icon library)
πŸ”Ή Yet Another React Lightbox (Image gallery)
Code Quality πŸ”Ή ESLint (Code linting & formatting)
πŸ”Ή Jest & Testing Library (Unit testing)

Project Structure

The project follows a Component-Based Architecture with strong emphasis on separation of concerns. State logic and business rules are encapsulated in custom hooks, keeping UI components clean and reusable.

Folder Organization

src/
β”œβ”€β”€ assets/        # Static assets
β”œβ”€β”€ components/    # Reusable components
β”‚   β”œβ”€β”€ common/    # Generic components
β”‚   β”œβ”€β”€ features/  # Feature-specific components
β”‚   β”œβ”€β”€ layout/    # Layout components
β”‚   └── sections/  # Page sections
β”œβ”€β”€ constants/     # Global constants
β”œβ”€β”€ context/       # Global state management
β”œβ”€β”€ data/          # Mock data (products, filters)
β”œβ”€β”€ hooks/         # Custom hooks
β”œβ”€β”€ models/        # Data models & TypeScript interfaces
β”œβ”€β”€ pages/         # Main application pages
β”œβ”€β”€ styles/        # Global styles & Tailwind config
β”œβ”€β”€ types/         # Type definitions
└── utils/         # Utility functions & helpers

Visual Showcase

Desktop Experience

Desktop Demo

Mobile Experience

Mobile Demo

Responsive Design

  • Mobile-First: Optimized touch interactions and mobile navigation
  • Tablet-Friendly: Adapted layouts for medium screen sizes
  • Desktop Enhanced: Full-featured experience with expanded layouts

⚠️ Known Limitations

  • Mock Data: Currently uses static data instead of real API
  • Payment Processing: Simulated payment flow (no real transactions)
  • User Authentication: Not implemented (planned for future versions)
  • Inventory Management: Static stock levels (no real-time updates)

πŸ”’ License & Copyright

Β© 2025 Mocci & Co. All rights reserved.

This is a personal portfolio project. The design, code, and concept must not be copied, modified, or distributed without permission.


About

πŸ›’ E-commerce for handmade plushies built with React, TypeScript and TailwindCSS.

Topics

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors

Languages