aboutsummaryrefslogtreecommitdiff
path: root/README.md
blob: f16f26feebe96d4c14a8a51216e384f0b1f1247a (plain) (blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
# dispatch-tracker


TODO:

  * Friendly Error pages


Requirements going forward:

  * Pagination for the Invoices page
  * Settings:
    * `default_bill_to` must be set
  * Upload Invoice logos on Identity Objects for use in Invoices 
  * Change "user" to Vendor on the "Add Load Page"
  * Change Name To "Load Pay System" -- we're going to think about it
    * Freight Invoicing System
  * /loads
    * Give a warning when any loads don't have paperwork attached to them
    * Make loads without paperwork blue
    * Make loads with paperwork green
  * A way for users to be invited via email
  * Figure out if auditlog timestamps are fucked or not with timezones


To get a development system setup:


``` bash
cd app
virtualenv env
. env/bin/activate
pip install -r requirements.txt
./manage.py migrate
./manage.py createsuperuser
# This will create some fake records if you wish
./manage.py insert_fake_data --companies 10 --users 10 \
    --loads 400 --start-date='-16w' --end-date='+16w'
    # Default is 2 weeks for start/end date, no
    # defaults for any other options
# Run a local development server, listens to the world
./manage.py runserver 0.0.0.0:8080
```



To get a production system setup:


``` bash
export CFG="my-config.yml"
cd app
virtualenv env
. env/bin/activate
pip install -r requirements.txt
cp config.yml $CFG
vi $CFG # This is where you change the SECRET_KEY, static_root, allowed_hosts
# and other settings.
cat uwsgi.ini | sed -e"s/config.yml/$CFG/g" > my-uwsgi.ini
./manage.py collectstatic 
./manage.py migrate
./manage.py createsuperuser
uwsgi --ini my-uwsgi.ini # This will start the daemon, it's up to you to
# configure your OS to start it on boot
```

Below is a sample Nginx configuration, edit for your needs:

``` nginx
# It's up to you to configure HTTPs, I _highly_ recommend it
server {
    listen 80;
    # Uncomment if you have ipv6
    # listen [::]:80;
    server_name dispatch.example.com;

    root /var/www/dispatch.example.com;

    index index.html index.htm;

    # Some applications have trouble with merged slashes
    # This likely doesn't but worth noting
    merge_slashes off;

    location / {
        include uwsgi_params;
        uwsgi_pass 127.0.0.1:9200;
    }

    # Pass through the static directory
    # This should match whatever is in your config file
    location /static {
        alias /var/www/dispatch.example.com/static;
    }

    # This is probably going to be pulled from dispatch/static/robots.txt
    location /robots.txt {
        alias /var/www/dispatch.example.com/static/robots.txt;
    }

    # Enable logging
    # You will likely have to create these directories for Nginx to load
    access_log /var/log/nginx/dispatch.example.com/access.log;
    error_log  /var/log/nginx/dispatch.example.com/error.log;

}
```