outfits.ai is a sophisticated mobile application designed to revolutionize wardrobe management. Easily catalog, organize, and style your clothing collection with advanced digital tools.
- Wardrobe Digitization: Catalog entire clothing collection
- Outfit Composition: Create and save outfit combinations
- Smart Recommendations: AI-powered outfit suggestions
- Cross-Device Sync: Seamless experience across platforms
- Inventory Tracking: Monitor clothing items and usage
- [TO DO] Auto-Cart Addition: Add your shopping cart items into the app without having to upload
- Node.js (v16+)
- Go (v1.18+)
- Docker
- AWS CLI
- Python 3.9.21
- Pipenv
- Yarn
- Terraform
- Ansible
git clone https://github.com/ironnicko/outfits.ai
cd ./App
yarn install
cd ./Go-Backend
go mod download
cd ../Segment
pipenv --python 3.9.21
pipenv shell
pipenv sync
cd ./Terraform
terraform init
terraform apply --auto-approve
docker-compose up --build
-
cd ./Go-Backend go run .
Make sure to set VITE_PUBLIC_IP=http://localhost in .env
-
cd ./Segment python3 main.py
-
cd ./App yarn install yarn run start
outfits.ai/
β
βββ App/ # React-Native TypeScript Application
β
βββ Go-Backend/ # Golang Fiber Backend
β
βββ Terraform/ # Terraform & Ansible Configs
β βββ terraform/
β βββ ansible/
β
βββ Segment/ # Python FastAPI Service
βββ Model/U2Net
βββ Model/SAM(Segment Anything Model)
βββ Model/MiniLM-L6-v2(Embedding Model)
βββ Model/GPT-4o-mini(Recommendation)
βββ s3_upload
DB_USERNAME=
DB_PORT=
DB_NAME=
DB_PASSWORD=
DB_HOST=
PORT=8000
JWT_SECRET=<JWT secret>
TIMEZONE=UTC
BUCKET_PREFIX=<S3 bucket prefix>
VITE_PORT=3000
BUCKET_NAME=<bucket name>
MODEL=sam
SEGMENT_URL=http://segment
REM_HOST=rembg
URL=<supabase project URL>
ANON=<supabase API KEY>
variable "ssh_user" {
type = string
description = "SSH user"
default = "ec2-user"
}
variable "private_key_path" {
type = string
description = "Private Key Path"
default = "<Path to AWS Key Pair>"
}
variable "bucket_name"{
type = string
description = "S3 Bucket Name"
default = "<Your AWS S3 Bucket's Name>"
}