Skip to content

Spotify Agile model mapping microservice

License

Notifications You must be signed in to change notification settings

Zenithar/go-spotigraph

Repository files navigation

go-spotigraph

Go Report Card CircleCI LICENSE FOSSA Status

Spotify Agile model mapping microservice

Build

> go run .circleci/mage.go

Todo

### Project

  • Golang project best practice
  • Go modules
  • Go tools vendoring
  • Magefile migration
  • Feature flags support
  • Wire code generation
  • CircleCI integration
  • Documentation

### Services

  • Identity management
  • Squad management
  • Chapter management
  • Guild management
  • Tribe management
  • Graph query
  • External identity resolver (LDAP, etc.)

### Code generation

  • Protocol Validator generation
  • gRpc Client code generation
  • Decorator generation
  • CLI command generation from protobuf
  • Local or Remote service abstraction (direct vs gRPC call)

### Database

  • RethinkDB support
  • MongoDB support
  • PostgreSQL support
  • PostgreSQL json column support
  • BoltDB backend study
  • DGraph backend study
  • DynamoDB backend study

Dispatchers

  • gRPC Server
  • GraphQL Server
  • REST Api

Decorators

  • Code generation
  • Cache support
  • Logger support
  • Tracing support
  • Metric support
  • OpenCensus support
  • Instrumented service providers for wire
  • Circuit breaker
  • Authorization

### Tests

  • Unit tests template
  • Integration tests
  • E2E tests

### Deployment

  • Multi Stage Build for Docker
  • Kubernetes manifest
  • Test on K3S