loading...

Discussion on: What is your preferred Tech Stack?

Collapse
patryktech profile image
Patryk
  • GitLab
  • Docker{,-compose}
  • Postgres or PostGIS (I occasionally add other DBs)
  • Django for back-end
  • Vue.js for front-end
  • Seeing as I can't design, Quasar framework for Vue
  • Have worked with Graphene (GraphQL) and DRF (Rest)... I think I like Graphene better (single api endpoint, query without {under,over}fetching), but both are very pleasant to work with
  • Pytest, Cypress, Jest for testing

I think GitLab-CI is wonderful to automate building containers, running tests, and deploying. GitLab's issues give you nice boards, so I open issues for things I am working on (e.g. add Login component), give it the appropriate labels (front-end, in process, high priority), and move it around Kanban boards.

Docker makes setting up dev environments very easy. Even though many people disagree, I love running DBs in docker. Then I can easily add postgres, postgis, redis, mongo, elasticsearch, etc. to any project. Once the containers are built, I can just click a "deploy" button, and I have a simple script that stops my project, and brings it up with the latest version.

I am a big fan of using RDBMS for anything that manages user accounts. Postgres and Django support JSON fields, so I can easily add NoSQL features to it. I am currently planning to add ElasticSearch to my website, but that will still be added after PG, and not a replacement.

PUT/UPDATE
  -> let Django handle connection
    -> save model
      -> in post save handler, queue Celery task
        -> make Celery serialize object and upsert into ElasticSearch

Django because Python is beautiful, Django does everything you need, meaning fast to start with, no reinventing the wheel, but you can easily extend it.

Vue.js because it uses ES6, and no ugly JSX (personal preference - if you read this and like JSX, don't get offended :)

Pytest, because why would you use anything else?

Collapse
nalajala4naresh profile image
nalajala4naresh

DB : MongoDB
Backend : python with DRF on docker & AWS ECS
front-end : React

Collapse
lewiskori profile image
Lewis kori

This is definitely my favorite stack too vue + django + docker = heaven.
I haven't used graphene in production though. Still stuck on DRF.

Collapse
patryktech profile image
Patryk

I've heard that Ariadne is easier to extend than Graphene. Judging by the mess that the multiple inheritance is in Graphene, I am not surprised.

I'll have to give that a try, soon. If you want to implement graphql, I highly recommend you try both.