This is a boilerplate README.rst
created from the tangent-django-boilerplate project. This section should be deleted and the below sections completed when the project is created.
Use this project with Django's startproject
command:
$ django-admin.py startproject $PROJECT_NAME \
--extension="py,rst,conf,wsgi" \
--template=https://github.com/tangentlabs/tangent-django-boilerplate/zipball/master
Note that you need to specify a name for the project and pass the following variables:
client
- The client for this projectproject_code
- The project codedomain
- The top-level domain for the test/stage sites and the alerts mailing listtimezone
- Which timezone to use insettings.py
Tangent developers can use the tangent-kickstart tool to simplify creation of projects that conform to our conventions:
The below copy contains template variables - it gets merged with a context when a new boilerplate project is created.
<Describe the purpose of this project. What problem is it trying to solve.>
<Describe any third party integrations.>
<Set project up on Travis to get the correct token for the below image>
<Set project up on Sentry and include URL here>
<List mailing lists and any other channels for project communication>
Clone the repo, create a virtualenv and run:
$ make
This will:
- Install all Python dependencies (from
www/deploy/requirements.txt
); - Create your database schema
- Load sample data (stored in
fixtures/*.json
)
Two sample users are loaded:
username: superuser
email: [email protected]
password: testing
and:
username: staff
email: [email protected]
password: testing
Re-run this make target when switching branches to rebuild your database.
Run the test suite using either:
$ make test
or:
$ cd www
$ py.test
See the py.test docs for info on how to run subsets of the test suite.
Deployment uses Fabric. There are helper scripts for each environment:
$ ./deploy-to-test.sh
$ ./deploy-to-stage.sh
$ ./deploy-to-prod.sh
<List information that testers will need to know such as testing bankcard numbers.>
<Describe the infrastructure for this project, covering webservers, databases and other services (eg Solr, RabbitMQ). Include versions>
<List the IP addresses of each server used by this project and any HTTP basic auth credentials>
<Describe any gotchas or unusual parts of the codebase. Assume the person who will take over this project from you is a serial killer who knows where you live.>
<Describe the reasoning behind major design decisions>