{"id":27521152,"url":"https://github.com/attarmau/fastmcp_recsys","last_synced_at":"2025-04-18T07:59:11.157Z","repository":{"id":287993430,"uuid":"966480530","full_name":"attarmau/FastMCP_RecSys","owner":"attarmau","description":"A fashion recommendation system built with FastAPI, React, MongoDB, and Docker. It uses CLIP for image-based clothing tagging and provides a simple UI for users to upload images and receive recommendations","archived":false,"fork":false,"pushed_at":"2025-04-15T06:42:43.000Z","size":65,"stargazers_count":1,"open_issues_count":0,"forks_count":0,"subscribers_count":1,"default_branch":"main","last_synced_at":"2025-04-15T07:37:40.059Z","etag":null,"topics":["clip","fastapi","mcp","recommender-system"],"latest_commit_sha":null,"homepage":"","language":"Python","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"apache-2.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/attarmau.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","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}},"created_at":"2025-04-15T01:47:58.000Z","updated_at":"2025-04-15T06:42:47.000Z","dependencies_parsed_at":"2025-04-15T07:37:42.613Z","dependency_job_id":"6ca91f79-1f66-4b67-91e4-496656cf664f","html_url":"https://github.com/attarmau/FastMCP_RecSys","commit_stats":null,"previous_names":["attarmau/mcp_recsys","attarmau/fastmcp_recsys"],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/attarmau%2FFastMCP_RecSys","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/attarmau%2FFastMCP_RecSys/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/attarmau%2FFastMCP_RecSys/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/attarmau%2FFastMCP_RecSys/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/attarmau","download_url":"https://codeload.github.com/attarmau/FastMCP_RecSys/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":249458899,"owners_count":21275793,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","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":["clip","fastapi","mcp","recommender-system"],"created_at":"2025-04-18T07:59:10.445Z","updated_at":"2025-04-18T07:59:11.152Z","avatar_url":"https://github.com/attarmau.png","language":"Python","funding_links":[],"categories":[],"sub_categories":[],"readme":"# FastMCP_RecSys\nThis is a CLIP-Based Fashion Recommender with MCP. \n\n# Folder Structure\n```\n/project-root\n│\n├── /backend\n│   ├── Dockerfile                # Backend Dockerfile\n│   ├── /app\n│   │   ├── main.py               # FastAPI app code\n│   │   └── requirements.txt      # Python dependencies for the backend\n│   └── .env                      # Environment variables (make sure to add this to .gitignore)\n│\n├── /frontend\n│   ├── Dockerfile                # Frontend Dockerfile\n│   ├── package.json              # Node.js dependencies (for React)\n│   ├── package-lock.json         # Lock file for React dependencies\n│   ├── /public\n│   │   └── index.html            # HTML file for the frontend (React app is mounted here)\n│   ├── /src\n│   │   ├── App.js                # Main React component\n│   │   └── index.js              # React entry point\n│   ├── tailwind.config.js        # Tailwind CSS config\n│   ├── postcss.config.js         # PostCSS config\n│   └── .env                      # Frontend environment variables (add to .gitignore)\n│\n├── .gitignore                    # Git ignore file (include .env, node_modules, etc.)\n├── docker-compose.yml            # Docker Compose configuration\n└── README.md                     # Project documentation\n\n\n```\n\n## Step 1\n\nUpdate mongo service to add the same credentials:\n```\n  mongo:\n    image: mongo:latest\n    ports:\n      - \"27017:27017\"\n    environment:\n      MONGO_INITDB_ROOT_USERNAME: root\n      MONGO_INITDB_ROOT_PASSWORD: example\n    volumes:\n      - mongo-data:/data/db\n```\n\nNote: Since using environment variables in the FastAPI app, the Mongo URL should look like this:\nMONGO_URL = \"mongodb://root:example@mongo:27017\"\n\nOnce it's running, open the browser and go to 👉 http://localhost:8081\n\nLogin with: Username: root / Password: example (temporarily setting)\n\n## Step 2\ndocker-compose up --build\n\nThis will:\n\n- Start FastAPI backend with hot reload\n- Start MongoDB\n- Start Mongo Express (for DB UI) (Frontend will not be built automatically in this mode)\n\n## Step 3\n- Access the frontend (React app) at:  http://localhost:3000\n- Access the backend (FastAPI app) at:  http://localhost:8000\n\n### 📌 Quick Tips\n\nVisit your app at: http://localhost:8000/docs\n\nView MongoDB UI: http://localhost:8081 (use user: root, password: example)\n\nmongo-seed runs only once at startup to populate your tags collection.\n\n### 📌 Sample Components for UI\n\n1. Image upload\n2. Submit button\n3. Display clothing tags + recommendations\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fattarmau%2Ffastmcp_recsys","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fattarmau%2Ffastmcp_recsys","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fattarmau%2Ffastmcp_recsys/lists"}