🙈 A lot of people will hate our tech stack, but here it is:

After working one year on our code base, it’s time to share some insights and experiences with our tech stack.

We are building a REST API and a single page application. Most people would choose something like Node.js and React for this project. But we took something different and are really happy with our choices by now.

Our Project: Scrumpy is a project management tool with a beautiful and modern approach to work in agile teams. If you haven’t seen it by now, be sure to check it out.

Why we think our tech stack empowers us: Over the year we changed the product a few times. We had like four different design approaches, changed features multiple times, tried a few approaches to sync data between the SPA and the API and swichted from oldskool SSH deployment to Docker Swarm Mode. So as a side note: Docker in Production is possible.

REST API

We really love the approach of GraphQL and had a few test drives, but we felt it takes more time to develop a GraphQL API and it really has its benefits with a lot of different clients which we don’t have at the moment.

PHP 7.2

PostgreSQL 10.1

Laravel 5.5

Laravel Passport OAuth

OAuth Laravel Cashier Stripe subscriptions

Stripe subscriptions Laravel Echo Server Websocket Server

Websocket Server Laravel Scout Search

Search Laravel Dusk Browser Testing

Browser Testing Glide Image Manipulations

Image Manipulations Sentry Error Tracking

Single Page Application

We really love VueJS and are confident it is as powerful as React, but way more flexible and a lot easier to learn. If you haven’t checked it out yet, do it now. ✊

VueJS 2.5

Vuex 3.0 Store Management

Store Management Axios HTTP Client

HTTP Client Laravel Echo Websocket Client

Websocket Client Chart.js Charting

Charting Flatpickr Datepicker

Datepicker Highlight.js Syntax Highlighting

Syntax Highlighting Dropzone File Uploads

File Uploads Gridilydidily CSS Flexbox Grid

Hosting

We are really happy Forge customers, but as Scrumpy has grown to one big application where a lot of things are working together, we felt the need to deploy everything with Docker and chose Docker Swarm Mode with Digital Ocean as provider.

Docker in Development, Testing and Production

in Development, Testing and Production Digital Ocean Cloud Computing

Cloud Computing Jenkins Deployment Automation

Deployment Automation Docker Swarm Mode Clustering System

Clustering System Traefik Docker Proxy

We had a lot of challenges on our way, but the most of them were not related to the tech stack we used but to the Single Application approach. We had the feeling there are too many tutorials for Todo Apps and stuff like that and too few articles about bigger projects. We want to change that.

We have already prepared a few articles about all the challenges and try to write even more in the next month. So if you’re interested, give us some claps as a motivation or leave your e-mail.