4 ms·
I use macOS as a development machine but usually deploy code to a headless Ubuntu Server instance in the cloud. Primary API server development is in Elixir sin
by goodells 7y ago
I use macOS as a development machine but usually deploy code to a headless Ubuntu Server instance in the cloud.
Primary API server development is in Elixir since it’s just an elegant beast and can handle the vast majority of “pure” business logic.
If I need a database, in-memory store, or anything that can run in Docker I use Docker compose to run it. If it needs a bigger box or something managed in production I’ll just use whatever the hosting provider exposes (e.g. DigitalOcean’s Managed Databases).
Some stuff like bulky user data, random binary files, etc. goes to AWS S3.
Automated tests are developed alongside features and get run with GitLab’s continuous integration. This configuration usually reflects the dependencies that are run in Docker in development, but sometimes for low-impact tests I’ll just have it hit stateless production services.
Documentation gets auto-generated by Elixir’s ExDoc, or whatever language’s mainstream solution. Generating this for production documentation gets handled by GitLab CI of course.
Clients that hit the API are variable based on my needs but I usually make a React + Redux SPA or something in the Unity game engine. Web development is always set up with Gulp so that I can run and forget about whatever Webpack, Sass, and the files are doing underneath, it just updates automagically. Depending on the size of the project I often have multiple clients accessing overlapping subsets of API actions.
If this sounds like what your company is using or wants to use, please feel free to reach out at sam (at) mangane.se (I am in the USA even though the TLD is Swedish).