{"id":50730444,"url":"https://github.com/laksh2005/fashtag","last_synced_at":"2026-06-10T08:02:41.434Z","repository":{"id":353996073,"uuid":"1221726137","full_name":"laksh2005/fashtag","owner":"laksh2005","description":"Fashion Attribute Classification App ","archived":false,"fork":false,"pushed_at":"2026-04-26T15:58:16.000Z","size":40624,"stargazers_count":0,"open_issues_count":0,"forks_count":0,"subscribers_count":0,"default_branch":"main","last_synced_at":"2026-04-26T17:27:07.019Z","etag":null,"topics":["beatifulsoup","fastapi","nextjs","pandas","python","scikit-learn","selenium","torch","torchvision","typescript"],"latest_commit_sha":null,"homepage":"","language":"Python","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/laksh2005.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":null,"code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null,"notice":null,"maintainers":null,"copyright":null,"agents":null,"dco":null,"cla":null}},"created_at":"2026-04-26T15:50:26.000Z","updated_at":"2026-04-26T15:58:20.000Z","dependencies_parsed_at":null,"dependency_job_id":null,"html_url":"https://github.com/laksh2005/fashtag","commit_stats":null,"previous_names":["laksh2005/fashtag"],"tags_count":null,"template":false,"template_full_name":null,"purl":"pkg:github/laksh2005/fashtag","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/laksh2005%2Ffashtag","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/laksh2005%2Ffashtag/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/laksh2005%2Ffashtag/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/laksh2005%2Ffashtag/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/laksh2005","download_url":"https://codeload.github.com/laksh2005/fashtag/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/laksh2005%2Ffashtag/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":34142643,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-05-26T15:22:16.424Z","status":"online","status_checked_at":"2026-06-10T02:00:07.152Z","response_time":89,"last_error":null,"robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":true,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["beatifulsoup","fastapi","nextjs","pandas","python","scikit-learn","selenium","torch","torchvision","typescript"],"created_at":"2026-06-10T08:02:40.955Z","updated_at":"2026-06-10T08:02:41.426Z","avatar_url":"https://github.com/laksh2005.png","language":"Python","funding_links":[],"categories":[],"sub_categories":[],"readme":"# Fashtag - A Fashion Attribute Classification App \n\nThis project implements the required end-to-end application:\n\n- Scrapes clothing product images + metadata from Myntra\n- Prepares labels:\n  - Gender: `male` / `female`\n  - Sleeve type: `full_sleeve` / `half_sleeve`\n- Trains/fine-tunes an image classifier (transfer learning)\n- Supports prediction for a single item and a batch of items\n- Provides a simple UI to view products, trigger predictions, and view prediction history\n- Stores prediction tracking records in a SQLite database (no images in DB)\n\n\nApproach:\n- Scrape Myntra product images into 4 buckets and write metadata to CSV.\n- Train one transfer-learning model with a shared CNN backbone and two heads (gender + sleeve).\n- Serve inference via FastAPI and log each prediction to SQLite.\n- UI calls the API to run single/batch predictions and display history.\n\nModel choice:\n- Pretrained `ResNet18` backbone for fast, reliable fine-tuning on a small dataset.\n- Multi-task heads reduce duplication and simplify deployment.\n\nLimitations:\n- Scraped labels are noisy and the dataset can be imbalanced.\n- Scraping can break if Myntra DOM changes or rate-limits requests.\n- Metrics are from a small validation split; may not generalize broadly.\n\nImprovements with more time:\n- Balance/expand dataset and add manual QA for labels.\n- Add richer evaluation outputs (confusion matrices, misclassification review).\n- Better model versioning/monitoring and UI to compare model runs.\n\n## Setup\n\n```powershell\ncd E:\\fashtag\npython -m venv .venv\n.\\.venv\\Scripts\\activate\npip install -r requirements.txt\n```\n\n## Step 1: Scrape Data (Myntra)\n\nScrape images + build `data\\metadata\\metadata.csv`:\n\n```powershell\npython -m scraper.scraper --target-per-class 250\n```\n\nVerify dataset counts:\n\n```powershell\npython -m scraper.dataset_summary\n```\n\n## Step 2: Train Model (Required)\n\nTrain the multi-task model (gender + sleeve):\n\n```powershell\npython -m training.train --epochs 8 --batch-size 16\n```\n\nArtifacts:\n\n- `models\\checkpoints\\best_multitask_resnet18.pt`\n- `models\\checkpoints\\training_history.csv`\n- `models\\checkpoints\\final_metrics.json`\n\n## Step 3: Run Predictions (API + UI)\n\nStart the backend:\n\n```powershell\nuvicorn backend.main:app --host 127.0.0.1 --port 8000\n```\n\nOpen the UI:\n\n- Next.js (dev):\n\n```powershell\ncd E:\\fashtag\\ui\nnpm install\nnpm run dev\n```\n\n- Open `http://127.0.0.1:3000/`\n\nAPI endpoints:\n\n- `GET /products`\n- `POST /predict-single`\n- `POST /predict-batch`\n- `GET /history`\n- `GET /health`\n\n## Database Requirement\n\nSQLite database file:\n\n- `database\\predictions.db`\n\nPrediction tracking fields stored (minimum):\n\n- Image URL/reference\n- Run type: `single` / `batch`\n- Run ID / Batch ID\n- Predicted gender\n- Predicted sleeve type\n- Confidence score(s)\n- Model name/version\n- Timestamp\n- Status / error message","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Flaksh2005%2Ffashtag","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Flaksh2005%2Ffashtag","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Flaksh2005%2Ffashtag/lists"}