Dieter VekemanMay 16, 2019We use IntelliJ IDEA because Free Community Edition Powerful IDE Good support for elm through the intellij-elm plugin Good support for haskell through the Intellij Haskell Plugin Refactoring Searching & replace Built-in terminal Git support (very good diff tool) 8 upvotes818.2k views18.2kCommentsCopy link
Dieter VekemanMay 16, 2019We use Git because it's the standard it's powerful (git reflog saved me already a few times) 1 upvote152 views52CommentsCopy link
Dieter VekemanMay 16, 2019We 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.2 upvotes21.38k views1.38kCommentsCopy link
Dieter VekemanMay 16, 2019 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 Auth02 upvotes21.37k views1.37kCommentsCopy link
Dieter VekemanMay 16, 2019 Send emails to user (e.g. account creation) Send emails to the administrator (e.g. upon certain errors in the system) Amazon SES1 upvote137 views37CommentsCopy link
Dieter VekemanMay 16, 2019 Fast delivery limit content distribution (whitelist of countries): allows us to better control the data being transferred (reducing costs), avoiding unwanted access Amazon CloudFront1 upvote117 views17CommentsCopy link
Dieter VekemanMay 16, 2019Frontend 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) 4 upvotes413k views13kCommentsCopy link
Dieter VekemanMay 16, 2019Hosting the main relational DB engine Scalable Accessed by the backend (AWS EC2) Automatic minor upgrades Automated daily backups Amazon RDS for PostgreSQL1 upvote1401 views401CommentsCopy link
Dieter VekemanMay 16, 2019 Static resources (html, css, js, ...) S3 sits behind AWS CloudFront Amazon S31 upvote117 views17CommentsCopy link
Dieter VekemanMay 15, 2019Application server hosting the Haskell backend and the redis server lightweigt EC2 instance (t2.micro) Sits behind the AWS ELB Linux Debian system Runs a keter container Can bring up more instances to scale horizontally Amazon EC21 upvote125 views25CommentsCopy link