An open API service indexing awesome lists of open source software.

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

Awesome Lists containing this project

README

        

C3PO by SteveArgyle on Deviantart

# 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 Credentials

You 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 Credentials

Google 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)