Django Boilerplate for REST API/SPA with Vue.js built on top of Django Cookie Cutter. (you can definitely modify it easily to go with React.js)
SaasCore
The Ultimate Next.js Boilerplate for SaaS Applications. A boilerplate that truly stands out. The only boilerplate that c...
Django Hans is a Django API boilerplate built on top of Django Cookie Cutter, the most popular Django boilerplate out there.
GitHub Repository
https://github.com/DylanBergmann2502/django-hans
You can follow the README for installation
Why did I build it?
At my previous and current company, we found ourselves repeatedly setting up the same API components with more utilities on top of DCC since its philosophy is still MVC compatible and MVC oriented. Despite having good support for DRF and API development, DCC doesn't offer some more modern features we would like to have such as supporting a JS frontend service in the docker compose right off the bat or gearing towards something like
MinIO
for local development over filesystem.
What key features does Django Hans have?
Backend: We would like to keep most of what DCC offers intact since they are extremely well thought out. Even though we only use Django/DRF
as our API backend, it is still a MVC framework with a lot of MVC features like Admin Panel already baked into the framework and will still be there in the foreseeable future, keeping Django Allauth
is absolutely necessary for this backward compatibility. Background job solution like Celery
is always necessary even if we don't think that we will need it now. Choosing Celery
over Django RQ
is more about community and support, we are aware of Celery
's problems but working with the devil everyone knows is the saner choice here. Other than those, I added SimpleJWT
and Djoser
as a part of the starter kit (we usually mix and match different auth solutions like django-rest-knox
and/or dj-rest-auth
, or enhance SimpleJWT
with HTTPOnly Cookies based on requirements).
Frontend: This is the new extension that we have on top of DCC. We usually have a seperate frontend service running alongside with Django
. In the Django Hans boilerplate, Vue
is just my own personal pick (at work we usually just juggle between Vue/Nuxt
or React/Next
), but the concept for running and deploying frontend is essentially the same regardless. For the starter kit, I choose TailwindCSS
and PrimeVue
as they are modern and insanely beautiful and we use them extensively at work (With React
, I'd opt for TailwindCSS
and Shadcn
).
DevOps: We usually prefer a MinIO
service even for local development over just using the filesystem for storage as it is more compatible to having S3
or a self hosted MinIO
in production. Switching out Traefik
for Nginx
is usually because Nginx
has been around for so long and everyone kinda knows it. In Django Hans, I only have Nginx
as webserver to serve FE assets and reverse proxy for Django
because we usually have a master Nginx
service elseswhere for handling domains and SSL/TLS termination.
Dev Environment: We often have folks coming from different platforms (Windows/WSL, Mac, Linux) so Docker
and Docker Compose
is the bare minimum for our team nowadays. We usually have a run.sh
or run.bat
script that streamline our development process with a lot of sane shortcuts. The other script is setup.sh
or setup.bat
, it's the way for us to make development changes unanimous and consistent across team members.
AI compatibility: In all the files, we usually have the file path comment at the top of each file so that we could train and help AI suggest better code knowing the project directory structure.
Future Development
The repo is production ready and stable. These days I only have to upgrade its dependencies from time to time on the weekends and watch for new development with DCC to mirror the repo accordingly.
Brick is Your ASP.NET Core & React/Angular SaaS Starter Kit. Brick helps you start months ahead. Instead of starting fro...
SaasCore
The Ultimate Next.js Boilerplate for SaaS Applications. A boilerplate that truly stands out. The only boilerplate that c...
Production-ready Nuxt boilerplate with team auth, role-based access control, payments, and emails. Built with TypeScript...
Simple boilerplate for SAAS. Nuxt3, Supabase, OAuth, Prisma, TRPC, Pinia, Stripe, Tailwind, OpenAI.
LaunchJet is a full-stack boilerplate that helps you build Startups, SaaS products in days, not months. Includes authent...
SaaSykit is a Laravel-based boilerplate with everything you need to build an awesome SaaS.
Bullet Train is an MIT-licensed Rails framework that accelerates development by providing essential features common to a...
Electrik is a free and open-source Laravel starter-kit that gives you everything you need to start building a SaaS prod...
Svelte Starter Kit is a production-ready boilerplate for building blazing-fast web apps with Sveltekit. It's packed with...