YallaShop (Front-end)
A frontend e-commerce implementation demonstrating modern React and Next.js capabilities. Built with TypeScript and Tailwind CSS. Deployed on Vercel.
Note: This project uses static JSON for product data, in a real-world application, this would typically involve server-side data fetching from a database.
Technical Highlights:
- • Component-Driven UI Architecture: Nine React components with selective "use client" directives, compound component patterns and optimistic UI updates with visual state feedback (disabled → adding → added → in-cart).
- • Product Filtering & Search: Supports multi-field search and multi-criteria sorting. Search queries and categories persist in the URL via search parameters for shareable results.
- • Shopping Cart Management: Cart state is managed through React Context and persisted via localStorage. The "Add to Cart" button is context-aware, dynamically transitioning between "Add to Cart", "View in Cart", or a confirmation checkmark based on current state. The cart sidebar provides real-time quantity controls and subtotal calculations.
- • Responsive Design: The interface adapts meaningfully between devices. Mobile prioritizes a modal-based filtering system, while desktop provides instant filtering for faster browsing, ensuring the app feels native to the user's device.