A comprehensive wardrobe management and style recommendation platform built with Python FastAPI backend and React TypeScript frontend.
- Wardrobe Management: Upload, categorize, and view clothing items
- Image Processing: Automatic image optimization and feature extraction
- Responsive Design: Clean, modern UI with drag-and-drop functionality
- RESTful API: FastAPI backend with comprehensive endpoints
- Visual Outfit Builder: Drag-and-drop interface for outfit creation
- AI Recommendations: Smart outfit suggestions based on weather, events, and preferences
- Sustainability Insights: Usage tracking and eco-friendly suggestions
- Business Features: Catalogue management for small businesses
- External Store Integration: Connect to fashion retailers
- User Authentication: Secure login and user management
- Weather Integration: Real-time weather data for outfit suggestions
- Mobile Optimization: Full mobile app experience
- Social Features: Outfit sharing and community feedback
- Python 3.9+
- FastAPI - Modern web framework
- SQLAlchemy - Database ORM
- Pillow & OpenCV - Image processing
- Uvicorn - ASGI server
- React 18 with TypeScript
- Vite - Build tool and dev server
- Tailwind CSS - Utility-first CSS framework
- Modern ES6+ features
- Python 3.9 or higher
- Node.js 16 or higher
- npm or yarn package manager
-
Navigate to backend directory:
cd backend -
Create virtual environment:
python -m venv venv source venv/bin/activate # On Windows: venv\Scripts\activate
-
Install dependencies:
pip install -r requirements.txt
-
Set up environment variables:
cp .env.example .env # Edit .env with your configuration -
Start the backend server:
python -m app.main # or uvicorn app.main:app --reload --host 0.0.0.0 --port 8000
The API will be available at: http://localhost:8000 API documentation: http://localhost:8000/docs
-
Navigate to frontend directory:
cd frontend -
Install dependencies:
npm install
-
Start the development server:
npm run dev
The application will be available at: http://localhost:5173
wardrobe-assistant/
├── backend/
│ ├── app/
│ │ ├── api/ # API routes
│ │ ├── core/ # Core configurations
│ │ ├── models/ # Database models
│ │ ├── services/ # Business logic
│ │ └── utils/ # Utility functions
│ ├── static/ # Static files and uploads
│ └── requirements.txt # Python dependencies
├── frontend/
│ ├── src/
│ │ ├── components/ # React components
│ │ ├── hooks/ # Custom React hooks
│ │ ├── services/ # API service layer
│ │ ├── types/ # TypeScript types
│ │ └── utils/ # Utility functions
│ └── package.json # Node.js dependencies
└── README.md
POST /wardrobe/items- Upload new clothing itemGET /wardrobe/items- Get user's wardrobe itemsGET /wardrobe/items/{item_id}- Get specific itemPUT /wardrobe/items/{item_id}- Update itemDELETE /wardrobe/items/{item_id}- Delete itemPOST /wardrobe/items/{item_id}/worn- Mark item as worn
GET /- API welcome messageGET /health- Health check endpoint
-
Start backend with hot reload:
cd backend uvicorn app.main:app --reload -
Start frontend with hot reload:
cd frontend npm run dev
- Backend: The FastAPI app can be deployed using any ASGI server like Gunicorn + Uvicorn
- Frontend: Build the React app:
cd frontend npm run build
- Fork the repository
- Create a feature branch
- Make your changes
- Add tests if applicable
- Submit a pull request
This project is licensed under the MIT License - see the LICENSE file for details.
For support or questions, please open an issue in the GitHub repository.