{"id":25974824,"url":"https://github.com/tjtanjin/project_billboard_api","last_synced_at":"2026-05-06T02:37:01.319Z","repository":{"id":37591856,"uuid":"184385622","full_name":"tjtanjin/project_billboard_api","owner":"tjtanjin","description":"Webpage and API that allow users to make song predictions with project model: https://github.com/tjtanjin/project_billboard_model","archived":false,"fork":false,"pushed_at":"2022-12-08T05:03:13.000Z","size":8573,"stargazers_count":1,"open_issues_count":5,"forks_count":1,"subscribers_count":2,"default_branch":"master","last_synced_at":"2025-10-14T21:40:01.066Z","etag":null,"topics":["api","bootstrap","css","html","javascript","python"],"latest_commit_sha":null,"homepage":"https://project-billboard.herokuapp.com/","language":"HTML","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/tjtanjin.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}},"created_at":"2019-05-01T07:56:07.000Z","updated_at":"2021-03-29T19:26:28.000Z","dependencies_parsed_at":"2023-01-24T11:30:22.787Z","dependency_job_id":null,"html_url":"https://github.com/tjtanjin/project_billboard_api","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/tjtanjin/project_billboard_api","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/tjtanjin%2Fproject_billboard_api","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/tjtanjin%2Fproject_billboard_api/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/tjtanjin%2Fproject_billboard_api/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/tjtanjin%2Fproject_billboard_api/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/tjtanjin","download_url":"https://codeload.github.com/tjtanjin/project_billboard_api/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/tjtanjin%2Fproject_billboard_api/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":279021378,"owners_count":26087023,"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","status":"online","status_checked_at":"2025-10-14T02:00:06.444Z","response_time":60,"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":["api","bootstrap","css","html","javascript","python"],"created_at":"2025-03-05T02:34:44.240Z","updated_at":"2025-10-14T21:40:05.617Z","avatar_url":"https://github.com/tjtanjin.png","language":"HTML","funding_links":[],"categories":[],"sub_categories":[],"readme":"\u003cp align=\"center\"\u003e\n  \u003cimg src=\"https://i.imgur.com/156crxI.gif\" /\u003e\n  \u003ch1 align=\"center\"\u003eProject Billboard API\u003c/h1\u003e\n\u003c/p\u003e\n\n## Table of Contents\n* [Introduction](#introduction)\n* [Features](#features)\n* [Technologies](#technologies)\n* [Setup](#setup)\n* [Team](#team)\n* [Contributing](#contributing)\n* [Others](#others)\n\n### Introduction\nProject Billboard API forms part of Project Billboard whose objective is to produce a model that is capable of predicting the potential of a song to be a billboard hit. This repository contains the work done for our frontend and API used to host our song prediction models online. For the repository that contains our work on model training, please refer to the project billboard model repository:\n```\nhttps://github.com/tjtanjin/project_billboard_model\n```\nCurrently, the project is live on the following website:\n```\nhttp://project-billboard.herokuapp.com/\n```\n\n### Features\nThe API serves up a single endpoint for POST requests in making song predictions:\n```\n/api/v1/predict/{songname}\n```\nIt identifies the song name to carry out prediction on base on the URL path and also accepts 1 of 3 models as POST data in the format below:\n```\n{\"chosen_model\": \"model\"}\n```\nThe current list of available models are as below:\n```\n1) Logistic Regression\n2) K Nearest Neighbours\n3) XGBoost\n```\n### Technologies\nTechnologies used by Project Billboard API are as below:\n##### Done with:\n\n\u003cp align=\"center\"\u003e\n  \u003cimg height=\"150\" width=\"150\" src=\"https://i.imgur.com/lXu9kox.png\"/\u003e\n\u003c/p\u003e\n\u003cp align=\"center\"\u003e\nHTML\n\u003c/p\u003e\n\u003cp align=\"center\"\u003e\n  \u003cimg height=\"150\" width=\"150\" src=\"https://i.imgur.com/SQKE9WW.png\"/\u003e\n\u003c/p\u003e\n\u003cp align=\"center\"\u003e\nCSS\n\u003c/p\u003e\n\u003cp align=\"center\"\u003e\n  \u003cimg height=\"150\" width=\"150\" src=\"https://i.imgur.com/1D3AoId.png\"/\u003e\n\u003c/p\u003e\n\u003cp align=\"center\"\u003e\nJavaScript\n\u003c/p\u003e\n\u003cp align=\"center\"\u003e\n  \u003cimg height=\"150\" width=\"150\" src=\"https://logos-download.com/wp-content/uploads/2016/10/Python_logo_icon.png\"/\u003e\n\u003c/p\u003e\n\u003cp align=\"center\"\u003e\nPython\n\u003c/p\u003e\n\n##### Deployed on:\n\u003cp align=\"center\"\u003e\n  \u003cimg height=\"150\" width=\"150\" src=\"https://img.icons8.com/color/240/000000/heroku.png\" /\u003e\n\u003c/p\u003e\n\u003cp align=\"center\"\u003e\nHeroku\n\u003c/p\u003e\n\n##### Project Repository\n```\nhttps://github.com/tjtanjin/project_billboard_api\n```\n\n### Setup\nThe following section will guide you through setting up your own Project Billboard API!\n* As this project is hosted on heroku, it would be easier to fork this repository instead of cloning it locally so as to facilitate easier automatic deploys later on in the guide. However, if you wish to clone this repository, go ahead and cd to where you wish to store the project and clone it as shown in the example below:\n```\n$ cd /home/user/exampleuser/projects/\n$ git clone https://github.com/tjtanjin/project_billboard_api.git\n```\n* Next, you will need to obtain a [spotify token](https://developer.spotify.com/documentation/general/guides/authorization-guide/) and create a new application on [heroku](https://dashboard.heroku.com/).\n* Within the heroku dashboard, configure either heroku git or github for automatic deploys (hence my suggestion to fork instead of cloning the repository).\n* Once you are able to deploy your application, go under settings and create a new config var with the name spotify_token. The value of it would be the spotify token you obtained in step 2.\n\n### Team\n* [Tan Jin](https://github.com/tjtanjin)\n* [Arthur Chionh](https://github.com/artc95/)\n* [Toh Yue Feng](https://github.com/m3thx6)\n\n### Contributing\nIf you have code to contribute to the project, open a pull request and describe clearly the changes and what they are intended to do (enhancement, bug fixes etc). Alternatively, you may simply raise bugs or suggestions by opening an issue.\n\n### Others\nFor any questions regarding the implementation of the project, please drop an email to: cjtanjin@gmail.com.\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Ftjtanjin%2Fproject_billboard_api","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Ftjtanjin%2Fproject_billboard_api","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Ftjtanjin%2Fproject_billboard_api/lists"}