{"id":19301029,"url":"https://github.com/hamid-rezaei/music-recommender","last_synced_at":"2025-04-12T07:11:55.661Z","repository":{"id":227252018,"uuid":"762247983","full_name":"Hamid-Rezaei/Music-Recommender","owner":"Hamid-Rezaei","description":"This project, developed using the Django-rest-framework, serves as a practical training ground for students enrolled in the Cloud Computing Course,","archived":false,"fork":false,"pushed_at":"2024-03-12T19:07:30.000Z","size":676,"stargazers_count":5,"open_issues_count":0,"forks_count":0,"subscribers_count":1,"default_branch":"master","last_synced_at":"2025-04-12T07:11:49.802Z","etag":null,"topics":["django","django-rest-framework","docker","docker-compose","postgresql","rabbitmq","simple-storage-service"],"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/Hamid-Rezaei.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-02-23T11:38:08.000Z","updated_at":"2025-03-21T08:14:09.000Z","dependencies_parsed_at":null,"dependency_job_id":"f55060fc-9389-4986-a619-87b16c4908c3","html_url":"https://github.com/Hamid-Rezaei/Music-Recommender","commit_stats":null,"previous_names":["hamid-rezaei/music-recommender-system","hamid-rezaei/music-recommender"],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Hamid-Rezaei%2FMusic-Recommender","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Hamid-Rezaei%2FMusic-Recommender/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Hamid-Rezaei%2FMusic-Recommender/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Hamid-Rezaei%2FMusic-Recommender/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/Hamid-Rezaei","download_url":"https://codeload.github.com/Hamid-Rezaei/Music-Recommender/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":248530575,"owners_count":21119600,"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":["django","django-rest-framework","docker","docker-compose","postgresql","rabbitmq","simple-storage-service"],"created_at":"2024-11-09T23:16:36.211Z","updated_at":"2025-04-12T07:11:55.632Z","avatar_url":"https://github.com/Hamid-Rezaei.png","language":"Python","funding_links":[],"categories":[],"sub_categories":[],"readme":"# Music Recommender System\n\n## Overview\n\n\nThis project, developed using the Django-rest-framework, serves as a practical training ground for students enrolled in the Cloud Computing Course, offering hands-on experience and insights into the utilization of Platform as a Service (PaaS), Software as a Service (SaaS), and Infrastructure as a Service (IaaS) paradigms.\n\nImplementation Details\n----------------------\nThe project architecture comprises three distinct sections:\n\n- `main`: The central component of the project is a Django application that acts as the primary service, orchestrating the entire system by managing API endpoints and coordinating the logic across all sections. This Django app serves as the main service, connecting and integrating the functionalities of other sections.\n- `adapter`: Serving as the cornerstone for interacting with essential cloud services such as Amazon S3, RabbitMQ, and MailGun. \n- `schediler`: This  section functions as a dedicated scheduler within the project framework, executing tasks in response to specified job triggers. This segment operates autonomously, managing and overseeing the scheduling of various jobs based on predefined criteria.\n\nHow To Run\n----------\n1. **Clone the project**\n\n2. **Set Up the Environment**: Fill this `.env` file with appropriate values. \n    \n    ```\n   # General\n    FILES_FOLDER=\n    \n    # Postgres\n    DB_NAME=\n    DB_USER=\n    DB_PASSWORD=\n    DB_HOST=\n    DB_PORT=\n       \n    # Redis\n    REDIS_HOST=\n    REDIS_PORT=\n    \n    # RabbitMQ\n    RABBITMQ_AUTO_ACK=\n    RABBITMQ_USERNAME=\n    RABBITMQ_PASSWORD=\n    RABBITMQ_HOST=\n    RABBITMQ_PORT=\n    RABBITMQ_QUEUE=\n    RABBITMQ_VHOST=\n    \n    # S3\n    ENDPOINT_URL=\n    AWS_ACCESS_KEY_ID=\n    AWS_SECRET_ACCESS_KEY=\n    AWS_STORAGE_BUCKET_NAME=\n    \n    # Shazam\n    SHAZAM_API_KEY=\n    SHAZAM_URL=\n    SHAZAM_HOST=\n    \n    # Spotify\n    SPOTIFY_API_KEY=\n    SPOTIFY_SEARCH_URL=\n    SPOTIFY_RECOMMENDATION_URL=\n    SPOTIFY_HOST=\n    \n    \n    # Mail\n    MAIL_URL=\n    MAIL_API_KEY=\n    MAIL_DOMAIN_NAME=\n\n    ```\n\n3. **Create project docker image**\n\n    ```bash\n    docker build . -t main_service\n    ```\n\n4. **Create docker network**\n\n    ```bash\n    docker network create musicnet \n    ```\n   \n5. **Start docker-compose.yml file**\n\n    ```bash\n    docker-compose up -d  \n    ```","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fhamid-rezaei%2Fmusic-recommender","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fhamid-rezaei%2Fmusic-recommender","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fhamid-rezaei%2Fmusic-recommender/lists"}