# Project purpose ## Internal Apps ### Accounts * User * custom User model subclassing AbstractUser as per best practices * UserProfile * adds profile to default Django user * profile photo * website * bio * location ## External dependencies ### Coverage [https://github.com/nedbat/coveragepy](https://github.com/nedbat/coveragepy) #### Why * gotta test * I hate keeping track of what needs tests ### Python Decouple [https://pypi.org/project/python-decouple/](https://pypi.org/project/python-decouple/) ####Why * 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) ####Why * Simplest way to get robust tagging capabilities * When I wrote my own, this is what I wrote ### Django Storages [https://github.com/jschneier/django-storages](https://github.com/jschneier/django-storages) ####Why * 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/) ####Why * 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) ####Why * 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) ####Why * Because I'd go crazy without it. shell_plus is a godsend