{"id":21740968,"url":"https://github.com/atxtechbro/fashion-recommender","last_synced_at":"2026-04-15T18:02:31.735Z","repository":{"id":252412069,"uuid":"840364005","full_name":"atxtechbro/fashion-recommender","owner":"atxtechbro","description":"Automate Your Wardrobe. Fashion Intelligence at Your Fingertips. Snazzy Closet by Algofit.io digitizes your wardrobe, analyzes over 20,000 data points, and recommends outfits based on your unique traits—like eye color, hair color, and skin tone. Welcome to the future of fashion.","archived":false,"fork":false,"pushed_at":"2024-08-21T02:25:59.000Z","size":328,"stargazers_count":0,"open_issues_count":0,"forks_count":0,"subscribers_count":1,"default_branch":"main","last_synced_at":"2025-03-21T01:15:42.827Z","etag":null,"topics":["digital-fashion","fashion-intelligence","fastapi","machine-learning","mongodb","personalized-style","python","react","wardrobe-automation","web-application"],"latest_commit_sha":null,"homepage":"https://algofit.io/","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/atxtechbro.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}},"created_at":"2024-08-09T14:34:50.000Z","updated_at":"2024-08-21T02:26:02.000Z","dependencies_parsed_at":"2025-01-25T21:28:05.708Z","dependency_job_id":"2bc7eb0a-d14d-4c57-aa69-a8572830f1f0","html_url":"https://github.com/atxtechbro/fashion-recommender","commit_stats":null,"previous_names":["atxtechbro/fashion-recommender"],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/atxtechbro/fashion-recommender","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/atxtechbro%2Ffashion-recommender","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/atxtechbro%2Ffashion-recommender/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/atxtechbro%2Ffashion-recommender/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/atxtechbro%2Ffashion-recommender/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/atxtechbro","download_url":"https://codeload.github.com/atxtechbro/fashion-recommender/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/atxtechbro%2Ffashion-recommender/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":31853279,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-04-15T15:24:51.572Z","status":"ssl_error","status_checked_at":"2026-04-15T15:24:39.138Z","response_time":63,"last_error":"SSL_read: unexpected eof while reading","robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":false,"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":["digital-fashion","fashion-intelligence","fastapi","machine-learning","mongodb","personalized-style","python","react","wardrobe-automation","web-application"],"created_at":"2024-11-26T06:16:04.659Z","updated_at":"2026-04-15T18:02:31.712Z","avatar_url":"https://github.com/atxtechbro.png","language":"Python","funding_links":[],"categories":[],"sub_categories":[],"readme":"# Snazzy Closet\n\nSnazzy Closet is a fashion recommender app that helps users manage their wardrobe and receive personalized outfit recommendations. The project leverages FastAPI for the backend, MongoDB for data storage, React for the frontend, and machine learning for analyzing user data to improve recommendations.\n\n## Table of Contents\n\n- [Project Overview](#project-overview)\n- [Getting Started](#getting-started)\n  - [Prerequisites](#prerequisites)\n  - [Installation](#installation)\n- [Backend](#backend)\n  - [API](#api)\n  - [Database](#database)\n  - [Machine Learning](#machine-learning)\n- [Frontend](#frontend)\n- [Testing](#testing)\n- [Collaboration](#collaboration)\n- [License](#license)\n\n## Project Overview\n\nSnazzy Closet aims to provide a seamless and personalized fashion recommendation experience. Users can upload information about their wardrobe, and the system will suggest outfits based on their preferences, previous selections, and other criteria. The core of this functionality is powered by machine learning models that classify clothing items and detect colors, enhancing the personalization of recommendations.\n\n## Getting Started\n\n### Prerequisites\n\n- **Python 3.10+**\n- **MongoDB**\n- **Node.js and npm/yarn**\n\n### Installation\n\n1. Clone the repository:\n\n```bash\ngit clone https://github.com/yourusername/snazzy-closet.git\ncd snazzy-closet\n```\n\n2. Install backend dependencies:\n\n```bash\npip install -r requirements.txt\n```\n\n3. Install frontend dependencies:\n\n```bash\ncd snazzy-closet\nnpm install\n```\n\n4. Run the backend:\n\n```bash\nuvicorn backend.api.main:app --reload\n```\n\n5. Run the frontend:\n\n```bash\nnpm start\n```\n\n## Backend\n\nThe backend is responsible for handling API requests, interacting with the database, and running machine learning models.\n\n### API\n\n- **`main.py`**: The entry point for the FastAPI application.\n- **`user_routes.py`**: Manages user-related API endpoints (create, read, update, delete).\n- **`clothing_item_routes.py`**: Handles CRUD operations for clothing items.\n\n### Database\n\n- **`db_config.py`**: Configures the MongoDB connection.\n- **`models.py`**: Defines the data schemas for users and clothing items.\n\n### Machine Learning\n\nThe machine learning components are the heart of Snazzy Closet, providing intelligent recommendations based on image classification and color detection.\n\n- **`model.py`**: Defines the structure of the machine learning model.\n- **`preprocess.py`**: Handles data preprocessing, including image resizing, normalization, and feature extraction.\n- **`train.py`**: Manages the training process for the model, including loading and preprocessing images, training the model, and saving the trained model to disk.\n\n### Model Versioning and Storage\n\nWhen saving the trained model with `model.save('final_model.h5')`, ensure that a versioning strategy is in place to avoid overwriting models, especially in a CI/CD pipeline or production environment.\n\n## Frontend\n\nThe frontend is built using React and includes all the user interface components.\n\n- **`App.js`**: Main entry point for the React application.\n- **`index.js`**: Renders the React application to the DOM.\n- **`App.css`** and **`index.css`**: Styles for the application.\n\n## Testing\n\nWe use `pytest` for backend testing, with tests located in the `tests` directory.\n\n- **`test_api.py`**: Contains unit tests for the API routes, covering user creation, retrieval, updating, and deletion.\n\nTo run the tests:\n\n```bash\nexport PYTHONPATH=$(pwd)\npytest snazzy-closet/backend/tests\n```\n\n## Collaboration\n\nAll changes should be made through pull requests. Follow branch naming conventions tied to issues for clarity (e.g., `issue-1-add-tests`).\n\n### Creating a Pull Request\n\n1. Create a new branch:\n\n```bash\ngit checkout -b issue-1-add-tests\n```\n\n2. Push your branch to GitHub:\n\n```bash\ngit push origin issue-1-add-tests\n```\n\n3. Create a PR:\n\nYou can use the GitHub website or the CLI:\n\n```bash\ngh pr create --title \"Add update and delete test coverage\" --body \"This PR adds tests for updating and deleting users via the API. Closes #1.\"\n```\n\n## License\n\nThis project is licensed under the MIT License. See the LICENSE file for details.\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fatxtechbro%2Ffashion-recommender","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fatxtechbro%2Ffashion-recommender","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fatxtechbro%2Ffashion-recommender/lists"}