hoangquochung1110 / public-notes

0 stars 0 forks source link

Considerations on starting a Django project #6

Open hoangquochung1110 opened 3 months ago

hoangquochung1110 commented 3 months ago

Security

Django handles most security concern's itself as long as you turn on the right settings. Give this a read https://docs.djangoproject.com/en/5.1/topics/security/ There maybe some extra apps you could install, to get a CSP perhaps. Then you can scan your site to get an idea of areas for improvement; https://securityheaders.com/

hoangquochung1110 commented 3 months ago

The lack of static typing made refactoring challenging at times, requiring extensive testing to ensure everything worked correctly.

hoangquochung1110 commented 3 months ago

Django Rest Framework, which lacks native async support, which can be problematic. If you need async functionality, you might consider Django Ninja. However, like many projects in the Django ecosystem, it is maintained by a single individual.

hoangquochung1110 commented 3 months ago

a tool called Django Cookiecutter, which allows you to generate a Django project from scratch to contain much of the boilerplate code that would go into a project. It's very useful and already incorporates some of the best practices in file/folder structure

hoangquochung1110 commented 3 months ago

Tech for the stack, I'd look at django-ninja these days. Valkey is the new caching service instead of redis, you can use that as a celery broker and a cache backend. Avoid a javascript frontend unless you've got a dedicated team for it. Django's templates with HTMX are a great choice for a small team.