Over the years, here is the tools that answered all of my needs.
Backend:
- Apollo Server (GraphQL, Javascript/Typescript)
- Hasura (GraphQL frontend to PostgreSQL, translating GraphQL queries directly to SQL)
- Erlang/Elixir for distributed applications
Frontend: - VueJS + VueX + ApolloClient
- Bulma (CSS framework, https://bulma.io )
Dev environment: - Docker + docker-compose (a single command to spin up the full stack)
- Makefile (so easy to write, automate any "long" commands)
- KinD (Kubernetes in Docker, https://kind.sigs.k8s.io/ )
- Lens (a Kubernetes IDE, https://k8slens.dev/ )
(Pre)Production environment: - Managed Kubernetes or k0s ( https://k0sproject.io )
Deployment: - Github + PR based workflow
- CI pipeline as a multi-stage Dockerfile + Github Actions
- CD with ansible + helm + Github Actions