Skip to content
/ djan-go-baby-go Public template

Quickstart template with Django + Ninja + Vue3 + PrimeVue + Docker Compose

License

Notifications You must be signed in to change notification settings

incinc/djan-go-baby-go

Repository files navigation

djan-go-baby-go

In less than three minutes this will set up a fully functional rapid application dev environment with Django and Vue.

Ensure you have Docker, make a copy of this template repo, then run:

./bootstrap.sh <my project name>

The bootstrap script will:

  • Rename everything in the project from gobabygo to your project name.
  • Populate the .env.tmpl into .env with suitable starting values.
  • Builds/pulls containers from the docker-compose file.
  • Generates and applies initial Django migrations.

The final step of the bootstrap script runs docker compose up, check http://localhost:8888/ to find a running app.

What this includes

This is an opinionated template that brings together a number of other tools and libraries I've enjoyed working with. Maybe you'll like them as well.

Foundation & Tooling

Python Libraries

Frontend

Services

Contributing

The goals of the template are that it remain:

  • One-click to a running app
  • "Available in any color, so long as it is black"
  • Easy to maintain up-to-date dependencies
  • Easy to understand the structure and layout

The intent of this template is to provide a starting point where things "just work" out of the box. Contributions should follow that as a guiding principle: if a change introduces something that requires extensive customization after running the boostrap script for it to work at all, it's probably not a great thing to include.

Secondary to that, the bootstrap script is intended to be a single path: it is not the intent to introduce an interactive or configurable process that produces a different result based on user choices, but instead produce one output that can be modified manually after the fact.

Dependencies do not follow LTS releases. The intent is that dependencies, including Django itself, are up to date with the latest stable release wherever possible. If an important dependency becomes unmaintained or there are significant benefits to be had from an alternative, it should be replaced.