Awesome
fuzzy-couscous
<img align="right" width="170" height="170" src="https://res.cloudinary.com/dgugjkmqg/image/upload/v1672335414/Dream_TradingCard_bw46ec.png">[!WARNING] Please note that this project, will no longer receive further updates. Instead, check out its new and cooler brother, falco at: https://github.com/tobi-de/falco.
✨📚✨ Read the full documentation
A cli tool based on django's startproject --template to bootstrap your django projects with a modern stack. The project template is heavily inspired by cookiecutter-django but is meant to be a simpler version. The cli also comes with additional commands to hopefully improve your django development experience.
Features
- Django 4+
- Python 3.10+
- Frontend: htmx with editor support using web-types
- Template fragment with django-template-partials
- Secure production settings, https only.
- Settings using django-environ
- Login / signup via django-allauth
- Login using email instead of username
- Automatically reload your browser in development via django-browser-reload
- Better development experience with django-fastdev
- Amazon SES for production email via Anymail
- Docker ready for production
- Optional production cache settings using the
CACHE_URL
orREDIS_URL
environment variables. captain-definition
for deploying to caprover- Sentry for performance/error monitoring
- Serve static files with Whitenoise
- Default integration with pre-commit for identifying simple issues before submission to code review
- Integrated task runner with poethepoet
- Dependency management using poetry (can be replaced by virtualenv using the
remove-poetry
command)
Templates
I use github branches to create variations of the base template.
- main: The base template
- tailwind: The base template + tailwindcss via pytailwindcss
- bootstrap: The base template + bootstrap5 via django-bootstrap5
Note: If some of my decisions about the project template don't make sense to you, read this section of the documentation.
Quickstart
Install the latest version of the package
pip install fuzzy-couscous --upgrade
Initialize a new project
cuzzy make project_name
Development
Poetry is required (not really, you can set up the environment however you want and install the requirements manually) to set up a virtualenv, install it then run the following:
pre-commit install --install-hooks
Tests can then be run quickly in that environment:
pytest
Feedback
If you have any feedback, please reach out to me at tobidegnon@proton.me or open a discussion.