See minimalism

Software maximalism

Use all the things, all the conveniences, all the tools.

Overview

  1. Use Kubernetes on GCP, to run your cluster.
  2. Use Google Artifactory for your images.
  3. Use Java+Spring+REST+ORM for your app server.
  4. Use Kafka for your message queue.
  5. Use Redis for your cache
  6. Use Datadog for log consolidation and triggering
  7. Use Angular for your client.
  8. Use Postgres+Mongo for your database.
  9. Use flyway for database migrations.
  10. Use docker-compose (or k9s) for local running and testing.
  11. Use Gitlab (or Jenkins) for your code repo and deployment server.
  12. Use Jira

App Server

  1. Use gradle for your build. Use all the features.
  2. Use Junit + Cucumber + AssertJ for unit tests.
  3. Use Docker+bash for functional tests.
  4. Use Spotless for linting and formatting
  5. Use Sonar for vulnerability scanning.
  6. Use Prometheus for measurement.

Every commit is a (the user, the ticket, the change, the tests) on a ticket branch, which is merged after the tests pass. "TDD" suggests you write and commit the tests first.

Examining the runtime - getting access, remembering how to navigate complex tools.

Copyright SimpatiCorp 2024