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

Tech Stack

Friedrich edited this page Apr 14, 2022 · 6 revisions
Frontend : 
         Quasar
           |
Vue, Pinia & Vue Router
           |
          Vite

Backend :
Django Rest Framework
          |
        Django - Redis
          |
        Docker

Frontend

Quasar

Quasar is a modern UI framework that, in contrast with Vuetify, supports Vue 3. It also has lots of amazing features which could make it easier to implement some nice-to-haves for us.

Vue, Pinia & Vue Router

We opted to use Vue because both Wouter and Friedrich have prior experience with it, it also seemed to have a lower initial learning curve than React.

Pinia is the modern replacement for Vuex, a library which allows us to keep a centralized global state next to the local state in the components. This will make for a cleaner codebase.

Lastly, Vue Router, is a necessary library for when you want to support routing in your Vue application.

Vite

For deploying, we're using a tool called Vite. It has great support for TypeScript, optimized build sizes and support for Hot Module Replacement.

Backend

Django Rest Framework

Django Rest Framework is a layer upon Django that allows us to use it as a REST API endpoint.

Django

Django is a popular Python back-end framework that provides an admin panel out of the box. It also seems to have better authentication support than competitors like Express. This is why we have adopted this framework. We use PostgreSQL for our database.

Redis

To enable websockets the use of Redis is needed. Messages are cached here.

Docker

Our back-end is a containerized application. One of the reasons why we chose to do this is to wall off our database and to have a proper way to run it on our server.

Clone this wiki locally