Skip to content
This repository has been archived by the owner on May 10, 2021. It is now read-only.

Latest commit

 

History

History
61 lines (44 loc) · 3.48 KB

tech-stack.md

File metadata and controls

61 lines (44 loc) · 3.48 KB

What is our stack ??

Marketing Analytics

Design / UX

For collaborative creation of design for our platform, we're using Figma. Our designs are split into two projects - Website and Mobile. If you'd be interested in gaining edit rights, please, reach out to @LukasHirt ([email protected]). Feel free to copy the project and propose some changes even without edit rights.

Docs

  • Markdown @FelixBoehm
  • Hugo @FelixBoehm

Frontend

Web and mobile

Our frontend is built with Vue.js for both native mobile apps (thanks to Nativescript) and web.

The project has been bootstrapped by vue-cli together with vue-cli-native-script-plugin which allows us to share the codebase for all platforms.

Additional technologies are Vuex for global state and Vue Router for routing. Vue router handles only navigation in the web app. Navigating in the app is done via Nativescript-Vue navigate method.

Testing

If you're interested in contributing to frontend, please, refer to the readme of our frontend repository.

Backend

Our backend is is written in golang and implements a Graphql API for our clients. For data persistence we use mariadb. All ouf our services are containerized for easier handling and avoidance of dependency hells. Changes of our database layout are managed with migrations that depend on graphql generated api schemes. Code contibutions can be made by pull request.

CI/CD

We build containers with github actions that we push to dockerhub. Those images are then depoyed int a development cluster running microk8s. The cluster is set up with terraform and ansible in a cloud environment. Terraform and ansible are github actions automated as well.

Microservice design considerations

Infra

  • S3 Storage for Terraform States and for User Assets
  • Backblaze for dev phase
  • Terraform for VM Provisioning
  • Ansible for Host Config Management
  • microk8s as dev orchestration runtime

Pairing