Premium recycled menswear. Zero waste, maximum style.
✨ NOW FEATURING: Full E-Commerce Functionality ✨
Reman is a complete sustainable men's fashion e-commerce platform that transforms premium end-of-season stock into unique, eco-friendly menswear. We rescue perfectly good garments from major fashion brands that would otherwise end up in landfills, redesign them with modern aesthetics, and offer them at accessible prices.
To prove that sustainable fashion can be stylish, affordable, and masculine. We rescue premium materials from waste streams and transform them into wardrobe essentials.
- 50K+ Pieces Rescued
- 2M Liters of Water Saved
- 15K Happy Customers
- 85% Less Water Used vs. New Production
- Zero New Raw Materials for Fabric
- ✅ Add/remove/update quantities
- ✅ Animated slide-in cart drawer
- ✅ Real-time total calculation
- ✅ Cart icon with live item count badge
- ✅ LocalStorage persistence
- ✅ Toast notifications for all actions
- ✅ Login/Signup pages with validation
- ✅ Demo authentication (works offline)
- ✅ Password visibility toggle
- ✅ Session persistence
- ✅ Protected routes
- ✅ User menu in navbar
- ✅ Profile Management - Edit personal info & shipping address
- ✅ Order History - View all past orders with status tracking
- ✅ Wishlist - Save & manage favorite products
- ✅ Beautiful tabbed interface
- ✅ Logout functionality
- ✅ Multi-step checkout (Shipping → Payment)
- ✅ Form validation
- ✅ Order summary sidebar
- ✅ Payment processing (demo)
- ✅ Order confirmation page
- ✅ Creates order in history
- ✅ Instant search modal
- ✅ Live filtering by name/category
- ✅ Product images & prices in results
- ✅ Mobile-responsive
- ✅ "View all results" link
- ✅ One-click favorite from product cards
- ✅ Heart icon with filled/outline states
- ✅ Wishlist page in account
- ✅ LocalStorage persistence
- ✅ Visual feedback & animations
- ✅ Wishlist Heart Button - Toggle favorites instantly
- ✅ Quick Add to Cart - Add without visiting product page
- ✅ Savings Badge - Auto-calculates discount percentage
- ✅ Hover animations
- ✅ Mobile-optimized
- Smooth Animations - Framer Motion for all transitions
- Dark Mode: Fully implemented dark/light theme toggle with system preference detection, available in the navigation bar. Optimized Footer for consistent dark aesthetic in both modes.
- Scroll Animations: Implemented
framer-motionscroll animations (whileInView) across ALL pages (Home, Shop, Product, About, Sustainability, Blog, Contact, Auth, Account, Checkout, NotFound) for a dynamic and engaging user experience. - Wishlist System: Fully functional wishlist with "heart" toggle on product cards, persistence via
localStorage, and a dedicated Wishlist tab in the Account page. - Quick Add to Cart: "Quick Add" button on product cards for instant cart addition with default size.
- Modern UI - Clean, masculine aesthetic with premium feel
- Dark Mode Ready - Theme system with light/dark mode support
- Accessibility - WCAG compliant with semantic HTML
- SEO Optimized - Proper meta tags and performance
- Home (
/) - Hero section with featured products and scroll animations - Shop (
/shop) - Full product catalog with filtering - Product Detail (
/product/:id) - Detailed view with wishlist & cart - About (
/about) - Company story with scroll animations - Sustainability (
/sustainability) - Eco-friendly process details - Blog (
/blog) - Fashion tips and sustainability insights - Contact (
/contact) - Contact form - Checkout (
/checkout) - Multi-step purchase flow - Auth (
/auth) - Login/Signup - Account (
/account) - User dashboard - 404 - Not found page
- Node.js (v18 or higher) - Download
- npm or yarn or pnpm - Package manager
-
Clone the repository
git clone https://github.com/Fady2024/reman.git cd reman -
Install dependencies
npm install
-
Start the development server
npm run dev
-
Open your browser
Navigate to
http://localhost:5173
# Start development server with hot reload
npm run dev
# Build for production
npm run build
# Preview production build locally
npm run preview
# Run ESLint
npm run lint1. Browse Products (/shop)
├── Hover over product cards
├── Click ❤️ to add to wishlist
└── Click "Quick Add" to add to cart
2. Product Details (/product/:id)
├── Select size
├── Adjust quantity
├── Add to cart or wishlist
└── View related products
3. Shopping Cart
├── Click cart icon (top right)
├── Review items
├── Update quantities
└── Proceed to checkout
4. Checkout (/checkout)
├── Fill shipping information
├── Enter payment details
├── Review order summary
└── Place order
5. Order Confirmation
├── See success message
├── Order saved to history
└── Continue shopping
1. Login/Signup (/auth)
├── Create account or login
├── Demo: use any email/password
└── Session persists automatically
2. Account Dashboard (/account)
├── **Profile** - Edit personal info
├── **Orders** - View purchase history
└── **Wishlist** - Manage favorites
3. Wishlist
├── Add from any product card
├── Heart icon shows status
├── View all in account
└── Remove anytime
1. Click search icon (navbar)
2. Type product name or category
3. See live results
4. Click to view product
- React 18.3.1 - UI library
- TypeScript 5.8.3 - Type safety
- Vite 5.4.19 - Build tool and dev server
- Tailwind CSS 3.4.17 - Utility-first CSS
- Framer Motion - Animations
- shadcn/ui - Component library
- Radix UI - Accessible primitives
- Lucide React - Icons
- React Router v6 - Client-side routing
- TanStack Query - Server state
- Context API - Global state (Cart, Auth)
- LocalStorage - Persistent data (cart, wishlist, orders, user)
- Static Data - Products catalog
reman/
├── src/
│ ├── contexts/ # State management
│ │ ├── CartContext.tsx # Shopping cart state
│ │ └── AuthContext.tsx # Auth & user state
│ ├── components/
│ │ ├── layout/ # Layout components
│ │ │ ├── Navbar.tsx # Nav with cart, search, user menu
│ │ │ ├── Footer.tsx
│ │ │ ├── Layout.tsx
│ │ │ └── PageTransition.tsx
│ │ ├── ui/ # shadcn/ui components (49 components)
│ │ ├── CartDrawer.tsx # Animated cart sidebar
│ │ ├── SearchBar.tsx # Search modal
│ │ └── ProductCard.tsx # Enhanced product cards
│ ├── pages/ # Page components
│ │ ├── Index.tsx # Home
│ │ ├── Shop.tsx # Product catalog
│ │ ├── Product.tsx # Product detail
│ │ ├── About.tsx # About page
│ │ ├── Sustainability.tsx
│ │ ├── Blog.tsx # Blog listing
│ │ ├── Contact.tsx # Contact form
│ │ ├── Checkout.tsx # Checkout flow
│ │ ├── Auth.tsx # Login/Signup
│ │ ├── Account.tsx # User dashboard
│ │ └── NotFound.tsx # 404
│ ├── data/
│ │ └── products.ts # Product catalog
│ ├── lib/
│ │ └── utils.ts # Helper functions
│ ├── hooks/
│ │ └── use-toast.ts # Toast notifications
│ ├── App.tsx # Main app with providers
│ ├── main.tsx # Entry point
│ └── index.css # Global styles
├── public/ # Static assets
├── package.json
├── tailwind.config.ts
├── tsconfig.json
├── vite.config.ts
└── README.md
- Complete shopping experience from browse to checkout
- No backend required (uses localStorage)
- Production-ready UI/UX
- Page transitions with Framer Motion
- Scroll-triggered reveals (whileInView)
- Smooth cart drawer slide-in
- Product card hover effects
- Loading states
Everything saves automatically:
localStorage:
├── 'cart' → Shopping cart items
├── 'user' → User profile
├── 'wishlist' → Favorited products
└── 'orders' → Purchase history- 100% TypeScript
- Full type coverage
- No
anytypes - IDE autocomplete
- Mobile-first approach
- Breakpoints: sm (640px), md (768px), lg (1024px), xl (1280px)
- Touch-optimized buttons
- Adaptive layouts
/* Primary - Charcoal Black */
--primary: 0 0% 10%;
/* Accent - Olive Green */
--accent: 80 25% 35%;
/* Secondary - Warm Grey */
--secondary: 30 5% 92%;
/* Background */
--background: 0 0% 98%;- Font: Space Grotesk
- Weights: 400, 500, 600, 700
@keyframes fadeIn
@keyframes fadeInUp
@keyframes slideInLeft
@keyframes scaleIn| Page | Route | Auth Required | Description |
|---|---|---|---|
| Home | / |
No | Hero, featured products |
| Shop | /shop |
No | Product catalog |
| Product | /product/:id |
No | Product details |
| About | /about |
No | Company story |
| Sustainability | /sustainability |
No | Eco practices |
| Blog | /blog |
No | Articles |
| Contact | /contact |
No | Contact form |
| Checkout | /checkout |
No | Purchase flow |
| Auth | /auth |
No | Login/Signup |
| Account | /account |
Yes | User dashboard |
interface Product {
id: string;
name: string;
price: number;
originalPrice?: number;
images: string[];
category: string;
sizes: string[];
description: string;
isNew?: boolean;
}interface CartItem {
id: string;
name: string;
price: number;
image: string;
size: string;
quantity: number;
category: string;
}interface User {
id: string;
name: string;
email: string;
phone?: string;
address?: {
street: string;
city: string;
state: string;
zipCode: string;
};
}interface Order {
id: string;
date: string;
items: CartItem[];
total: number;
status: 'pending' | 'processing' | 'shipped' | 'delivered';
shippingAddress: Address;
}npm run buildOutput: dist/ directory
No environment variables required for basic functionality. Add these for production:
# Optional: Analytics
VITE_GA_ID=your-google-analytics-id
# Optional: API endpoint (when adding backend)
VITE_API_URL=https://api.yoursite.com- Lighthouse Score: 95+
- First Contentful Paint: < 1.5s
- Time to Interactive: < 3.5s
- Bundle Size: ~400KB (gzipped)
- Code splitting (React.lazy)
- Image lazy loading
- Tree shaking
- Minification
- Gzip compression
- Memoized components
- ✅ Semantic HTML5
- ✅ ARIA labels and roles
- ✅ Keyboard navigation
- ✅ Screen reader friendly
- ✅ Color contrast (WCAG AA)
- ✅ Focus indicators
- ✅ Alt text for images
Contributions welcome! Please:
- Fork the project
- Create feature branch (
git checkout -b feature/AmazingFeature) - Commit changes (
git commit -m 'Add AmazingFeature') - Push to branch (
git push origin feature/AmazingFeature) - Open Pull Request
MIT License - see LICENSE file
Full-Stack Developer | Sustainable Tech Enthusiast
📧 Email: fadygerges2023@gmail.com
📍 Location: Cairo, Egypt
- shadcn/ui - Component library
- Radix UI - Accessible primitives
- Framer Motion - Animations
- Lucide - Icons
- Tailwind CSS - CSS framework