DEV Community

Cover image for Building an App πŸ“± and its Stack in minutes with LOLstack πŸ₯‘
Arnaud Leymet for CODENAME

Posted on

Building an App πŸ“± and its Stack in minutes with LOLstack πŸ₯‘

Hello there (Κ˜β€ΏΚ˜)β•―
This post is part of a short series you may prefer to read chronologically.


Preface

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

Category Tech used
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 git@github.com:codename-co/stack.git && cd $_
docker-compose up
Enter fullscreen mode Exit fullscreen mode

🀭 Installing Docker first would be a good idea by the way.


Open source

The LOLstack boilerplate is open source.
This is great news to you right now for your πŸ€ͺ crazy app idea.
Happy crafting!

Discussion (3)

Collapse
jzombie profile image
jzombie

Docker Compose will also need to be installed in addition to Docker it looks like.

Collapse
prod profile image
Arnaud Leymet Author

Exact. The simplest option would be to install Docker Desktop as it automatically installs Docker Compose as well.

Collapse
jzombie profile image
jzombie

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/