This slack app allows you to share your musical taste with your coworkers inside Slack, by allowing the app to connect to your spotify account
- Go
- Docker
- Fly.io
- New Relic
- Slack API
- Spotify API
There are 3 main layers:
- handlers: only call exported services.
- services: call unexported services and repositories
- repositories: communicate with database (and eventually other repos)
📦src
┣ 📂app_error
┣ 📂crypto
┣ 📂domain
┣ 📂handlers
┣ 📂repositories
┃ ┣ 📂db_entities
┣ 📂services
┣ 📂static
┃ ┣ 📂completed
┃ ┣ 📂home
┗ 📜server.go
app_error
: custom application errors
domain
: entities from application business rules
handlers
: api handlers
repositories
: database related, including queries
db_entities
: database entities, a mirror from the schema
services
: where all the logic is applied to make the magic happen
static
: UI files
completed
: UI for the completed page (after the user accepted everything)
home
: UI for the homepage
https://medium.com/@alexandre.cabral/building-a-slack-app-for-spotify-with-go-64ff71959bd1
docker compose up
First, setup your fly.io account, database and new relic, then:
fly launch
fly auth login
fly secrets set <secret>
fly deploy