Frontend application Elm
- Typesafe frontend coding
- Easy refactoring (make the changes and fix the compilation errors)
- Quick (re)compilation (v0.19)
- Automatic recompilation in development using npm + webpack
- Production output is small and fast
- Built-in architecture (The Elm Architecture: Model View Update)
We use PostgreSQL because it is
- easy to use
- SQL Standard support
- Fast enough for my use case
- Good library support (e.g. haskell client persistent-postgres)
- Easy to find documentation
We are not yet using GraphQL but there is quite good direct GraphQL support (reverse schema engineering) for PostgreSQL
We use Bitbucket because
It provided private repositories (at a time where github didn't provide that yet)
On the longer term (if the team size would grow) I would use Confluence / JIRA which integrate well with Bitbucket.
I am currently not using any of the CI capabilities (e.g. pipelines) but I might in the future.
- External user authentication and authorization (roles & groups)
- Our database does not need to store any personal data (name, username, password) which helps for GDPR
- Our system does not need to deal with password security, recovery, ...
- JWT tokens are verified on each api call
- Users are cached internally using redis