I've always followed Django as Python is my first language and still my 'natural' way to think about code. The more I look into it, the more I feel like the learning curve is a bit like a camel's back. Easy for some stuff. Hard to figure the middle part (usually because not understanding "how" Django really works). And easy at the ends after knowing how you can "mould" Django in certain ways. It feels like a great multitool for the professionals who need to create project after project.<p>I believe the middle part of the learning curve can be easier, but with the "social cruft" of all the Django tutorials out there, it's a game of luck to encounter what's good and what are the different, sensible, approaches to handling growing/big Django apps.<p>What can make this easier is a document/discussion of some sort that provides clear, complete, approaches. Here are some aspect that needs to be considered. I believe with the combinations defined, and describing the tradeoffs will be a very great start for any team/person looking to jump into Django, or improve their next project.<p>- Postgres seems to be default. SQLite + Litestream is there but still bleeding edge.<p>- Packaging is the hot topic, for sure. Pipenv, poetry, venv, etc?<p>- Traditional Serverside Templating + JS enhancement (HTMX/Hotwire/etc), or JS based SPA (React, Vue, Angular, Svelte, etc)<p>-- This also includes the asset compiling story (Tailwind JIT, Sass compilation, Babel/webpack/rollup/etc)<p>- Fat models, Fat views, or Service layer? To which extent?<p>- Single app (Doordash) or Multiple apps (Thread with >500 apps)?<p>- What's the theoritical limit to using Postgres + Disk/Memory Caching (so no external Redis/ElasticSearch/other services needed)?<p>-- Search, queues/async job, scheduled jobs, reports, emails, etc<p>EDIT: A view additional points<p>- Documented limits about using whitenoise to serve static assets, and when & how to move to S3. Also Cloudflare/CDN fronting<p>- Cloud storage story (uploading to S3 api from FileField and Rich Text fields, and also async jobs)<p>-- Proxy story to enable <a download> from cloud? (Maybe a bit far, but I think this is a common request)<p>- Deploying/Serving optimization (is gunicorn the best option for now? how to scale w/ regard to vCPU counts to avoid the 25% CPU Max utilization?)<p>- How to debug between inefficient query/app code/templating/serving/caching?<p>I'm sure there are more points, but it would be great if there's a documented sensible approaches to evaluate. I know there are templates, but great discussions about the tradeoffs of complete "packages" are rare.