Skip to content
Stephen Leach edited this page Mar 27, 2022 · 23 revisions

Welcome to the TeamGroove wiki!

Where is everything?

Design Decisions

  • Relational database as data store
  • Web and command-line user interfaces
  • The 12 Factor principles:
  1. Codebase: - One codebase tracked in revision control, many deploys
  2. Dependencies: - Explicitly declare and isolate dependencies
  3. Config: Store config in the environment - we're using the python-dotenv module
  4. Backing services: - Treat backing services as attached resources
  5. Build, release, run: - Strictly separate build and run stages
  6. Processes: - Execute the app as one or more stateless processes
  7. Port binding: - Export services via port binding
  8. Concurrency: - Scale out via the process model
  9. Disposability: - Maximize robustness with fast startup and graceful shutdown
  10. Dev/prod parity: - Keep development, staging, and production as similar as possible
  11. Logs: - Treat logs as event streams
  12. Admin processes: - Run admin/management tasks as one-off processes1

Tech Decisions

Handy links

Clone this wiki locally