Hacker Newsnew | past | comments | ask | show | jobs | submitlogin

If we do green field development, we often end up with a stack like this:

- Backend: Java + Spring Boot

We went there from node and we did try a lot of other backend stacks (Go, PHP, Clojure, Python, ...). Java has evolved quite nicely recently, APIs and libraries are rock-solid, well documented and battle tested. I plays very will with our DDD approach anyway. Many problems have already been solved for us here. Flyway for migrations, custom session handling mechanism. We do not use an ORM.

- Frontend SPA: Svelte

Again, we tried most of it, from vanilla JS, over Backbone+Marionette through React, Angular 1 - ?? and Vue. Svelte is a good compromise of an opinionated approach, high flexibility and ease of learning. It scales very well for big applications. Built with webpack.

- Frontend styling: Bootstrap

Yes, we developed with all of them again, even wrote our own. IBM Carbon is nice, but the svelte implementation has potential for improvements. People tell me everything looks like Bootstrap, but the point is: it's well tested, very well documented, extensible and accessible, has accessibility concerns baked in and can be themed easily. If done well, an app doesn't have to look like Bootstrap. We might pull in Tachyons for utilities if necessary.

- Data store: MySQL/MariaDB or Postgres plus Redis

You name it, we tried it. Postgres never let us down, we know it very well and its SQL support is a breeze. I personally like MySQL/MariaDB for some technical reasons. We had mixed experience with SQLite and bad experience with SQL Server. Oracle is pretty good, but the pricing is no in our favour. Everything related to caching and session handling goes into Redis. For search and analytics, we might pull in Elasticsearch or InfluxDB.

- Configuration

Config files or environment vars à la 12 factor app. We use Hashicorp Vault for bigger systems. We are dispassionate, though, what ever the client has decided to suffer through will be supported.

Complementary tools and technologies: Docker, docker-compose, Docker Swarm in prod, trying out Dokku at the moment, Keycloak for OAuth, Jenkins for CI/CD, people are trying to convince me to use Github Actions. Deployments are usually done on big machines on an IaaS offering (we run Azure and AWS as well as bare metal), no cluster systems, no micro services. We do not use Kubernetes.



Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: