# Project purpose ## Internal Apps ### Accounts * [User](https://git.luxagraf.net/luxagraf/writer/src/branch/master/apps/accounts/models.py) * custom User model subclassing AbstractUser as per best practices * [UserProfile](https://git.luxagraf.net/luxagraf/writer/src/branch/master/apps/accounts/models.py) * adds profile to default Django user * profile photo * website * bio * location ## External dependencies #### Coverage [https://github.com/nedbat/coveragepy](https://github.com/nedbat/coveragepy) * Because I hate keeping track of what needs tests #### Python Decouple [https://pypi.org/project/python-decouple/](https://pypi.org/project/python-decouple/) * Decouple helps you to organize your settings so that you can change parameters without having to redeploy your app. * Allows committing settings.py by keeping not-committed settings in one place (.env) #### Django Taggit [https://github.com/alex/django-taggit](https://github.com/alex/django-taggit) * Simplest way to get robust tagging capabilities #### Django Storages [https://github.com/jschneier/django-storages](https://github.com/jschneier/django-storages) * Simplest way to make all static assets go to Amazon S3 * Simplifies migrating server setups by keep static assets off the server #### Django Registration [https://github.com/ubernostrum/django-registration/](https://github.com/ubernostrum/django-registration/) * Simplest way to handle all aspects of registration/confirmation (written by James Bennett) #### pwned-passwords-django [https://github.com/ubernostrum/pwned-passwords-django](https://github.com/ubernostrum/pwned-passwords-django) * Because we should inform people when their passwords are compromised (written by James Bennett) #### Django-Extensions [https://github.com/django-extensions/django-extensions](https://github.com/django-extensions/django-extensions) * Because I'd go crazy without it. shell_plus is a godsend