{"id":13629497,"url":"https://github.com/JamFactoryApp/jamfactory-backend","last_synced_at":"2025-04-17T09:34:17.061Z","repository":{"id":43331037,"uuid":"260546335","full_name":"JamFactoryApp/jamfactory-backend","owner":"JamFactoryApp","description":"JamFactory - Your virtual DJ with a democratic playlist ♫ This is the backend of the JamFactory app","archived":false,"fork":false,"pushed_at":"2023-05-13T15:52:47.000Z","size":775,"stargazers_count":7,"open_issues_count":13,"forks_count":1,"subscribers_count":4,"default_branch":"master","last_synced_at":"2024-08-01T22:43:47.271Z","etag":null,"topics":["backend","dj","go","music","spotify"],"latest_commit_sha":null,"homepage":"https://jamfactory.app","language":"Go","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/JamFactoryApp.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}},"created_at":"2020-05-01T19:54:03.000Z","updated_at":"2023-12-09T12:26:19.000Z","dependencies_parsed_at":"2024-01-14T07:58:50.312Z","dependency_job_id":"a720300c-b6a6-451a-8118-ef1e404e49af","html_url":"https://github.com/JamFactoryApp/jamfactory-backend","commit_stats":{"total_commits":412,"total_committers":6,"mean_commits":68.66666666666667,"dds":0.3106796116504854,"last_synced_commit":"f8111b713f0a6d30ad2e6381eb031dbe35fe99dc"},"previous_names":[],"tags_count":6,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/JamFactoryApp%2Fjamfactory-backend","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/JamFactoryApp%2Fjamfactory-backend/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/JamFactoryApp%2Fjamfactory-backend/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/JamFactoryApp%2Fjamfactory-backend/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/JamFactoryApp","download_url":"https://codeload.github.com/JamFactoryApp/jamfactory-backend/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":223751172,"owners_count":17196583,"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":["backend","dj","go","music","spotify"],"created_at":"2024-08-01T22:01:12.108Z","updated_at":"2024-11-08T20:31:04.284Z","avatar_url":"https://github.com/JamFactoryApp.png","language":"Go","funding_links":[],"categories":["Go"],"sub_categories":[],"readme":"# JamFactory Backend\n\n\u003cp align=\"center\"\u003e\n    \u003cimg src=\"docs/logo.svg\" alt=\"Logo\" width=\"80\" height=\"80\"\u003e\n\u003c/p\u003e\n\n\u003cp align=\"center\"\u003e\nCheckout the live version on\n\u003ca href=\"https://jamfactory.app\"\u003e\u003cstrong\u003eJamfactory.app\u003c/strong\u003e\u003c/a\u003e\n\u003c/p\u003e\n\n## What is JamFactory?\n\nJamFactory is a collaborative playback controller. A JamSession is a private party with **one** host to set it up, and\nmany attendees to join in.\n\nYour friends or party guests can vote for the songs they like and want to listen to, and the song with the most votes\ngets played next. JamFactory acts as the conductor of your music and is not the playback device itself. Therefore, you\nare free to **choose your own playback device**.\n\nThe host of a JamSession has to have a Spotify premium account, the guests can join the JamSession without a Spotify\naccount.\n\nJamFactory consists of independent applications that form the ecosystem together. This project contains the backend that\nprovides the necessary API to create, join and control a JamSession. It also acts as the Conductor that controls the\nplayback and communicates to the Spotify api.\n\n### Built with\n\nJamFactory is built among others using these awesome projects:\n\n* [Go](https://golang.org/)\n* [zmb3/spotify](https://github.com/zmb3/spotify)\n* [Gorilla ](https://www.gorillatoolkit.org/)\n* [Redis](https://redis.io/)\n\n### Latest Release\n\n``v0.2.0`` [Release Notes](./RELEASE.md#v020)\n\n## Getting started\n\nTo understand how the JamFactory backend works, which API Endpoints are available and how it can be used to create a\nJamSession, read the [Documentation](./docs/documentation.md).\n\n### Installation\n\nThe JamFactory backend can either be deployed using Docker (*recommended*) or installed from sources. Helm charts for\nKubernetes deployments are available\nat [JamFactoryApp/jamfactory-helm](https://github.com/JamFactoryApp/jamfactory-helm).\n\n#### Initial setup\n\n* Clone the repository to your desired location\n  ```sh\n  git clone https://github.com/JamFactoryApp/jamfactory-backend.git\n  ```\n* Create a Spotify App on the [Developer Dashboard](https://developer.spotify.com/dashboard)\n\n* Create a ``.env`` file and fill out the information. See [.env.example](./.env.example) for an example ``.env`` file.\n  It is recommended to use a very long password for the Redis db.\n\n#### Docker installation\n\n* Create a ``users.acl`` file in the ``/redis`` folder. Make sure to use the same password as in the ``.env`` file.\n  See [users.acl.example](./redis/users.acl.example) for an example ``users.acl`` file.\n\n* Create and start the Docker containers using ``docker-compose up -d``\n\n#### Local installation\n\n* Make sure you have a proper Go installation setup: https://golang.org/doc/install.\n* Run `go install ./cmd/jamfactory` to install the JamFactory backend to your ``$GOPATH/bin`` directory.\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2FJamFactoryApp%2Fjamfactory-backend","html_url":"https://awesome.ecosyste.ms/projects/github.com%2FJamFactoryApp%2Fjamfactory-backend","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2FJamFactoryApp%2Fjamfactory-backend/lists"}