The root of all messaging.
Develop using Docker
One time setup of your environment and database:
- Make sure you have docker and docker-compose
$ docker-compose run --service-ports web bash
[docker]$ ./manage.py update_product_details
- If you get an error connecting to the database, you probably need to wait for a few seconds for PostgreSQL to initialize and then re-try the command.
[docker]$ ./manage.py migrate
[docker]$ ./manage.py createsuperuser(enter any user/email/pass you wish. Email is not required.)
[docker]$ ./manage.py shell -c 'from snippets.base.util import *; create_countries(); create_locales();'
- Create a list of Countries and Locales from Product Details info.
Start the development server:
- Navigate to
https://localhost:8443/adminand log in with the admin account created in step #4. See an TLS Security Exception? Go to TLS Certifcates section.
A note about using
run instead of
docker-compose run is more suitable for development purposes since you get a
shell and from there you can run the webserver command. This way you can debug
set_trace() or restart the server when things go bad. The trick here is
--service-ports flag to make docker compose map the required ports.
The project is configured for
docker-compose up if that's your preference.
Firefox communicates with the snippets service only over secure HTTPS
connections. For development, the
runserver_plus command as executed in
generates and uses a self-signed certificate.
You'll need to permanently accept the certificate, to allow Firefox to fetch Snippets from your development environment.
Run the tests
$ ./manage.py test --parallel
Rebuild your Docker Compose Envinronment
To rebuild your docker compose environment, first remove current images and
containers and then run the
$ docker-compose kill $ docker-compose rm -f $ docker-compose build
Therapist is a smart pre-commit hook for git to ensure that committed code has been properly linted.
Install the hooks by running:
$ therapist install