- Overview
- Features
- Technology Stack
- Getting Started
- Project Structure
- API Documentation
- Deployment
- Authentication
- Troubleshooting
- Contributing
- License
- Contact
Ever stood in front of your wardrobe thinking, "I have nothing to wear"? OUTFIT_AI is your intelligent wardrobe assistant that revolutionizes how you interact with your clothes. Powered by cutting-edge AI, computer vision, and machine learning, it helps you:
- Discover new outfit combinations from your existing wardrobe
- Plan outfits based on weather and occasions
- Shop smartly with price comparisons across platforms
- Visualize outfits on a 3D mannequin before wearing
- Get personalized style recommendations from an AI fashion assistant
Get outfit suggestions perfectly suited to current and forecasted weather conditions in your location.
- Real-time weather data integration
- 7-day forecast outfit planning
- Seasonal wardrobe transitions
Upload and organize your entire clothing collection for effortless outfit planning and selection.
- Easy clothing categorization
- Image-based wardrobe inventory
- Smart organization system
- Drag-and-drop image upload
- Built-in image cropping tool
Discover countless stylish combinations from your existing wardrobe with AI-powered suggestions.
- AI-driven style coordination
- Color and pattern matching
- Occasion-specific recommendations
- Personalized style learning
Shop for new clothing items that perfectly complement your existing wardrobe from top retailers.
- Amazon & Myntra product search and scraping
- Price comparison across platforms
- Wishlist and favorites management
- AI-powered shopping suggestions
Visualize complete outfits on a virtual mannequin before deciding what to wear.
- Realistic 3D visualization using Three.js
- Rotate and view from all angles
- Try before you wear confidence
- AR preview capabilities
Plan your outfits for the entire week in advance, saving time and reducing daily decision fatigue.
- Calendar integration
- Event-specific outfit planning
- Automatic weather adaptation
Share your favorite outfits with friends and get feedback on your style choices.
- One-click outfit sharing
- Share to WhatsApp, Twitter, Facebook, Instagram, and Email
- Download images with watermarks
- Style community integration
Chat with our intelligent assistant for style advice, fashion tips, and trend information.
- 24/7 fashion advice
- Trend analysis and recommendations
- Personal styling questions answered
- Natural language processing
Upload and edit your photos with built-in cropping tools for perfect wardrobe images.
- Easy image cropping tool
- Drag to select crop area
- Real-time preview
- Support for PNG, JPG up to 10MB
Generate AI-powered outfit suggestions from Pinterest images.
- Upload images or use Pinterest URLs
- AI-powered clothing identification
- Virtual try-on generation
- Share generated outfits
- React.js 18+ with Vite - Modern UI framework
- CSS3 - Custom styling with dark theme
- Three.js - 3D mannequin visualization
- Socket.io Client - Real-time features
- Axios - HTTP client for API calls
- React Router - Client-side routing
- React Icons - Icon library
- Node.js 18+ - Runtime environment
- Express.js - Web framework
- MongoDB - NoSQL database
- Mongoose - ODM for MongoDB
- Passport.js - Authentication middleware
- JWT - JSON Web Tokens for session management
- Socket.io - Real-time bidirectional communication
- Multer - File upload handling
- Cloudinary - Cloud image storage
- OpenAI GPT-4 - Natural language processing for chat assistant
- Google Generative AI (Gemini) - Image generation and analysis
- Google Cloud Vision API - Computer vision for clothing recognition
- OpenRouter - AI model routing
- Cheerio - Web scraping for Amazon & Myntra
- Vercel - Frontend and backend hosting
- MongoDB Atlas - Cloud database
- Cloudinary - Image CDN
- Git - Version control
Before you begin, ensure you have the following installed:
- Node.js (v18 or higher) - Download
- npm or yarn - Package manager
- MongoDB - Local installation or MongoDB Atlas account
- Git - Version control
-
Clone the repository
git clone https://github.com/adi2687/aiWardrobe.git cd aiWardrobe -
Install backend dependencies
cd backend npm install -
Install frontend dependencies
cd ../frontend npm install
Create .env files in both backend and frontend directories.
# Server Configuration
NODE_ENV=development
PORT=5000
FRONTEND_URL=http://localhost:5173
# Database
MONGO_URI=mongodb://localhost:27017/aiwardrobe
# Or for MongoDB Atlas:
# MONGO_URI=mongodb+srv://username:password@cluster.mongodb.net/aiwardrobe
# Session & Security
SESSION_SECRET=your-super-secret-session-key-here
# Cloudinary (Image Storage)
CLOUDINARY_NAME=your-cloudinary-name
CLOUDINARY_API_KEY=your-cloudinary-api-key
CLOUDINARY_SECRET_KEY=your-cloudinary-secret-key
# Google OAuth
GOOGLE_CLIENT_ID=your-google-client-id
GOOGLE_CLIENT_SECRET=your-google-client-secret
# Facebook OAuth
FACEBOOK_APP_ID=your-facebook-app-id
FACEBOOK_APP_SECRET=your-facebook-app-secret
# OpenAI API
OPENAI_API_KEY=your-openai-api-key
# Google Generative AI (Gemini)
GOOGLE_GEN_AI_API_KEY=your-google-gen-ai-api-key
# Email Service (for password reset)
EMAIL_HOST=smtp.gmail.com
EMAIL_PORT=587
EMAIL_USER=your-email@gmail.com
EMAIL_PASS=your-app-password
# Optional: Amazon/Myntra Scraping
AMAZON_API_KEY=your-amazon-api-key (optional)
SERP_API_KEY=your-serp-api-key (optional)# Backend API URL
VITE_BACKEND_URL=http://localhost:5000
# Optional: Analytics or other frontend services
VITE_APP_NAME=OUTFIT_AI-
Start MongoDB (if running locally)
# On macOS/Linux mongod # On Windows # Start MongoDB service from Services panel
-
Start the backend server
cd backend npm run dev # Or: nodemon api/app.js
Backend will run on
http://localhost:5000 -
Start the frontend development server
cd frontend npm run devFrontend will run on
http://localhost:5173 -
Open your browser Navigate to
http://localhost:5173to see the application.
aiWardrobe/
βββ backend/
β βββ api/
β β βββ app.js # Main Express server
β βββ db/
β β βββ connection.js # MongoDB connection
β β βββ cloudinary.js # Cloudinary configuration
β βββ middleware/
β β βββ auth.js # Authentication middleware
β βββ model/ # Mongoose models
β β βββ user.js
β β βββ cloth.js
β β βββ chatmessage.js
β β βββ ...
β βββ routes/ # API routes
β β βββ auth_routes.js # Authentication
β β βββ user_routes.js # User management
β β βββ pinterestgenerate.js # Pinterest AI generation
β β βββ amazon.js # Amazon scraping
β β βββ myntra.js # Myntra scraping
β β βββ chat.js # AI chat assistant
β β βββ ...
β βββ utils/
β β βββ emailService.js # Email utilities
β β βββ tokenHelper.js # JWT utilities
β βββ package.json
β βββ vercel.json # Vercel deployment config
β
βββ frontend/
β βββ src/
β β βββ components/ # React components
β β β βββ Home/
β β β βββ Wardrobe/
β β β βββ Shop/
β β β βββ Pinterest/
β β β βββ Chatbot/
β β β βββ ...
β β βββ App.jsx # Main app component
β β βββ main.jsx # Entry point
β β βββ utils/
β β βββ auth.js # Frontend auth utilities
β βββ public/ # Static assets
β βββ package.json
β βββ vite.config.js # Vite configuration
β
βββ ML/ # Machine learning scripts
β βββ amazon_test.py
β βββ myntra.py
β
βββ README.md # This file
βββ FEATURES.md # Detailed features list
βββ ROUTES_DIAGRAM.html # Interactive route diagram
POST /auth/register- Register new userPOST /auth/login- User loginPOST /auth/logout- User logoutGET /auth/google- Google OAuth loginGET /auth/facebook- Facebook OAuth loginPOST /auth/reset-password- Request password resetPOST /auth/reset-password/:token- Reset password with token
GET /user/profile- Get user profilePUT /user/profile- Update user profilePOST /user/avatar- Upload user avatarGET /user/wardrobe- Get user's wardrobe items
POST /uploadselfimages- Upload clothing imagesGET /getselfimages- Get user's clothing imagesPOST /pinterestgenerate/identify- Identify clothing from Pinterest imagePOST /pinterestgenerate/apply- Generate virtual try-on
GET /amazon?clothes={query}- Search Amazon productsGET /myntra?clothes={query}- Search Myntra productsGET /shop/suggestions- Get AI shopping suggestions
POST /chat- Chat with AI fashion assistantPOST /generate-image- Generate AI imagesGET /gemini-test/*- Test Gemini API endpoints
POST /share- Share outfitGET /share/:id- Get shared outfitPOST /sharetosocial- Share to social media
For a complete API reference, see ROUTES_DIAGRAM.html
-
Install Vercel CLI
npm i -g vercel
-
Deploy from backend directory
cd backend vercel --prod -
Set environment variables in Vercel Dashboard
- Go to your project settings
- Add all environment variables from
.env
-
Deploy from frontend directory
cd frontend vercel --prod -
Update backend URL
- Set
VITE_BACKEND_URLto your deployed backend URL
- Set
Ensure all environment variables are set in your Vercel project settings:
- MongoDB Atlas connection string
- Cloudinary credentials
- OAuth credentials
- API keys
OUTFIT_AI supports multiple authentication methods:
- Secure registration and login
- Password reset via email
- JWT token-based sessions
- One-click Google sign-in
- Automatic profile creation
- Secure token management
- Facebook social login
- Profile data integration
- Privacy-compliant
All authentication methods use secure JWT tokens and encrypted sessions.
- Check MongoDB connection: Ensure MongoDB is running or MongoDB Atlas connection string is correct
- Check environment variables: Verify all required
.envvariables are set - Check port availability: Ensure port 5000 is not in use
- Check CORS settings: Verify
FRONTEND_URLin backend.envmatches frontend URL - Check backend URL: Verify
VITE_BACKEND_URLin frontend.envis correct - Check backend is running: Ensure backend server is started
- Check Cloudinary credentials: Verify Cloudinary environment variables
- Check file size: Ensure images are under 10MB
- Check file format: Only PNG and JPG are supported
- Check network: Ensure backend has internet access
- Check timeout: Scraping may take time, check Vercel timeout limits (10s)
- Check API keys: If using API keys, verify they're set correctly
- Check OAuth credentials: Verify Google/Facebook OAuth credentials
- Check session secret: Ensure
SESSION_SECRETis set - Clear cookies: Try clearing browser cookies and localStorage
If you encounter issues not listed here:
- Check the Issues page
- Review error logs in browser console and server logs
- Contact support at adityakurani26@gmail.com
We welcome contributions! Here's how you can help:
- Fork the repository
- Create a feature branch (
git checkout -b feature/AmazingFeature) - Commit your changes (
git commit -m 'Add some AmazingFeature') - Push to the branch (
git push origin feature/AmazingFeature) - Open a Pull Request
- Follow the existing code style
- Write clear commit messages
- Add comments for complex logic
- Test your changes thoroughly
- Update documentation as needed
- Aditya Kurani - Project Lead & Developer
- Paras Rana - Co-developer
- Mohit Bhalotia - Launch Support
This project is licensed under the MIT License - see the LICENSE file for details.
- Email: adityakurani26@gmail.com
- Live Demo: https://outfit-ai-liart.vercel.app/
- Mobile App: Download Page
- OpenAI for GPT-4 API
- Google for Gemini AI and Vision API
- Three.js community for 3D visualization tools
- All open-source contributors
Stay stylish. Stay smart with OUTFIT_AI. πβ¨
Made with β€οΈ by the OUTFIT_AI Team
