Outfit Predict is a web platform designed to help you create the perfect outfit from your own wardrobe. Upload images of your clothes, and our AI-powered system will find and suggest stylish outfits you can wear.
➡️ Visit the deployed project: outfitpredict.ru
- ✨ Features
- 🛠️ Tech Stack
- 📂 Project Structure
- 🚀 Getting Started
- 🧑💻 Development
- ⚙️ Backend
- 🚢 Deployment (CI/CD)
- 🔒 SSL Setup
- 👥 Team
- 📜 License
- Wardrobe Management: Upload, view, and manage your clothing items.
- AI-Powered Outfit Suggestions: Get outfit recommendations based on the clothes you own.
- Similarity Search: Our system uses advanced similarity search to match your clothes with items in pre-styled outfits.
- Save Favorite Outfits: Keep track of the outfits you love.
- Filter Suggested Outfits: You can personalize outfits suggestions: filter them by several styles, such as formal style, streetwear, and etc.
- Clothes Suggestions: Sometimes, only one additional item can make your outfit perfect. During outfit recommendations, we implemented a feature to suggest lacking item to compose this outfit.
Category | Technologies |
---|---|
Frontend | Next.js, React, TypeScript, Tailwind CSS |
Backend | FastAPI, Python |
ML/AI | PyTorch, Transformers, Ultralytics, YOLOv11, FashionCLIP, SAM, OpenCV |
Databases | PostgreSQL, Qdrant (Vector DB), MinIO (Object Storage) |
DevOps | Docker, Docker Compose, GitHub Actions, Nginx |
Tooling | pre-commit , commitizen for code quality and standardized commits. |
Here is a high-level overview of the project's structure:
.
├── backend/ # FastAPI application, ML models, and business logic
├── frontend/ # Next.js frontend application
├── devops/ # Deployment scripts and CI/CD configuration
├── ssl-setup/ # SSL certificate setup scripts
├── datasets/ # Information about fashion datasets
├── notebooks/ # Jupyter notebooks for experiments
├── docker-compose.yml # Main Docker Compose file for running the app
└── README.md # You are here!
Follow these steps to get the project running locally.
- Git LFS: This project uses Git LFS to manage large model files.
- Docker and Docker Compose: For running the application in containers.
Important: You must use git lfs clone
to download the large model files correctly.
git lfs clone https://github.com/IU-Capstone-Project-2025/Outfit_predict.git
cd Outfit_predict
If you already cloned the repository without LFS, run git lfs pull
inside the repository.
-
Create an environment file by copying the example:
cp .env.example .env
-
Update the
.env
file with your configuration values. You will need to register at Qdrant to get an API key.
Once your .env
file is configured, you can start the application using Docker Compose:
docker-compose up --build -d
The application will be available at the following URLs:
- Frontend: http://localhost:3000
- Backend API: http://localhost:8000
- API Docs: http://localhost:8000/docs
- MinIO Console: http://localhost:9001
To stop the application, run docker-compose down
.
We use pre-commit
hooks to ensure code quality and commitizen
for standardized commit messages. Please see our Development Guide (dev.md) for detailed setup instructions.
The backend is a FastAPI application that serves the API and runs the machine learning models. For more details on the architecture, API endpoints, and how to run backend tests, see the Backend README (backend/README.md).
This project is configured for Continuous Integration (CI) and Continuous Deployment (CD) using GitHub Actions. We have detailed guides for setting up the deployment environment.
For production, we use Nginx as a reverse proxy and Let's Encrypt for SSL certificates. The setup is automated with scripts.
Name | Role |
---|---|
Bulat Sharipov | Team Lead, ML Engineer, Backend Dev |
Victor Mazanov | Project Manager, Customer Development |
Dinar Yakupov | Frontend Developer |
Danil Fathutdinov | ML Engineer, Backend Developer |
Artyom Grishin | Product Designer |
Remal Gareev | Backend Developer, DevOps Engineer |
This project is licensed under the MIT License. See the LICENSE file for details.