TLDR

I made a little project demo/stencil using DRF + Django on the backend, Vue on the frontend, and orchestration through docker-compose. You can find it here if you want to play with it.

Why this project?

I am working on a presentation for nontechnical people at work to help them think about the work Dev does. We sometimes get tickets asking for support with less useful debug information than there could be; the ticket might not have anything from the Network tab to show what APIs failed (or what they said). If the people submitting the tickets had more of a sense of how the app worked, we might process issues faster (or they might be more able to self-serve; sometimes it is a feature toggle/permissions issue explained in the API response.)

Why this stack?

I can be a documentation snob; if your project does really cool things, but you haven't bothered to document how to use it or how to think about it, when something goes wrong in using it I am more likely to just give up and use something I know. Python, Django, Django Rest Framework, Docker, and Vue all have great documentation. (One stackoverflow answer described Django's documentation as "time-bendingly good".) I find this stack much easier to use, to reason about, and to customize.

What to do from here?

Try it out! It's organized with Docker, so you should be able to spin everything up with a single command, do some database management that is documented in the repo, and get started. Some sample tasks to try:

  • Make some models in Django
  • Make an API with DRF
  • Start making components in Vue to consume off the API.

There is a single default model and API route provided by default, which should be enough to copy when making another or consume against on the frontend.

Questions? Comments? Concerns?

Open an issue and I will see what I can do for you.