Hello there (ʘ‿ʘ)╯
This post is part of a short series you may prefer to read chronologically.
Chosing what will compose a stack is both a matter of experience, opinion and timing.
Experience helps identifying what will stick, but opinion has a major role in the final chosing.
As of timing, what seems to be a good idea at the time, may be compromised by a lack of maintainers goodwill or vision a year later.
So by no means is the LOLstack The Perfect Stack™️. Now that's out, let's cover what it has to offer.
TL;DR: Enough with the stalling, Access the good stuff
What you'll get
An App, an API, a Database and all of the in-between that make an App and its stack work.
The tech stack
|Mobile app that targets iOS, Android & the web||React Native Expo|
|Design system for a component-based, modular & consistent design||Eva Design UI Kitten|
|Typing for a type-safe runtime & auto-generated interfaces||TypeScript|
|Database with both relational and unstructured data||PostgresQL|
|GraphQL API autogenerated from the database schemas||PostGraphile|
|RESTful API autogenerated from the database schemas||PostgREST|
|Custom RESTful API for implementing server-side specific needs||ExpressJS TypeScript|
|Authentication flow for handling sign-up and sign-in||JSON Web Token|
|Role-based permissions for a granular and low-level security||PostgresQL|
|Containers for services isolation and reproducibility||Docker|
|Job queue for handling asynchronous tasks||Graphile Worker|
|Job scheduler for running repetitive automated tasks||ofelia|
|Web proxy with SSL certificate handling, access logs||traefik|
|Admin interface for accessing & manipulating the data directly||pgweb adminer|
|Unit testing for ensuring that code is functional||Jest plpgunit|
|Status page to communicate outage and downtime to customers||Cachet|
Some of these choices are questionable? Please drop a comment, and let's 👊 discuss 'em softly :)
Don't leave just yet!
Feeling overwhelmed? Don't. That was the boring part.
Now is the good part, as booting this stack is just a copy-paste away:
git clone firstname.lastname@example.org:codename-co/stack.git && cd $_ docker-compose up
🤭 Installing Docker first would be a good idea by the way.
The LOLstack boilerplate is open source.
This is great news to you right now for your 🤪 crazy app idea.
Top comments (3)
Docker Compose will also need to be installed in addition to Docker it looks like.
Exact. The simplest option would be to install Docker Desktop as it automatically installs Docker Compose as well.
Yep. On Mac and Windows, Docker Desktop may be easist method of getting Docker Compose.
On Linux (and manual installs), the instructions are available via Docker's site at: docs.docker.com/compose/install/