https://github.com/lttkgp/c-3po
The metadata overlord and API server for LTTKGP
https://github.com/lttkgp/c-3po
music python spotify
Last synced: 5 months ago
JSON representation
The metadata overlord and API server for LTTKGP
- Host: GitHub
- URL: https://github.com/lttkgp/c-3po
- Owner: lttkgp
- License: mit
- Created: 2017-11-24T09:35:40.000Z (over 7 years ago)
- Default Branch: master
- Last Pushed: 2021-09-23T16:04:49.000Z (over 3 years ago)
- Last Synced: 2023-10-20T21:19:53.149Z (over 1 year ago)
- Topics: music, python, spotify
- Language: Python
- Homepage: https://api.lttkgp.com
- Size: 234 KB
- Stars: 27
- Watchers: 5
- Forks: 22
- Open Issues: 11
-
Metadata Files:
- Readme: README.md
- Contributing: .github/CONTRIBUTING.md
- License: LICENSE
Awesome Lists containing this project
README
# C3PO
When he's not flying around with the Solos and Skywalkers on the Millenium Falcon, C-3PO decided to help LTTKGP out with managing the huge amount of songs being posted each day to the group and organising them in a database (such a nice guy!) so we can build cool functionality on top of it.
## Getting started
These instructions will get you a copy of the project up and running on your local machine for development and testing purposes.
### Prerequisites
- Docker & Docker Compose
-
Spotify Web API CredentialsYou will also need Spotify authorization for fetching song metadata. The prodcude is very straightforward. Register a new application here:
[Spotify for Developers](https://developer.spotify.com/my-applications)That will give you a unique **client ID** and **client secret key** to use in authorization flows.
-
Google Application CredentialsGoogle Application Credentials is an API key that is required to extract YouTube metadata from the Youtube Data API. To get the key, create a new project on the [Google Developer Console](https://console.developers.google.com/), enable the YouTube Data API and proceed to `Credentials` and create a new API key.
### Setting up
- Create a `.env` file, using the `.env.template` file as reference.
```sh
cp .env.template .env
```Fill all the fields using the credentials created as part of the pre-requisites.
### Developing
- Install Development Dependencies
```sh
pip install -e . -r requirements/dev.txt
```- Install pre-commit hooks
```sh
pre-commit install
```### Starting the server
Run the server with:
```sh
docker-compose up
```The API server should be accessible at http://localhost:8000/.
### Populating the database
Follow the instructions on [R2-D2](https://github.com/lttkgp/R2-D2) and start it.
## Contributing
Contributions are always welcome. Your contributions could either be creating new features, fixing bugs or improving documentation and examples. Find more detailed information in [CONTRIBUTING.md](.github/CONTRIBUTING.md).
## License
[MIT](LICENSE)