aboutsummaryrefslogtreecommitdiff

dispatch-tracker

A slightly older version of this application is still in use for one of the companies I wrote this for some number of years ago.

Most of the features are here and the application fulfills the use case.

Live demo: https://dispatch.riedstra.dev/loads/

Running the demo:

There are steps to build the container below, though I've published it, so you should be able to simply run:

$ docker run --rm \
	-p 127.0.0.1:8080:8080 \
	containers.riedstra.dev/dispatch-tracker:latest

Give it a solid 30 seconds or so, since the default configuration runs its own database, migrations, and then fills it with fake data and initial admin user account.

These things can be tuned out with environment variables described in the entrypoint.sh file.

Things to fix/add going forward:

  • More friendly error pages
  • Description format field for customer objects &
    • on load create page dynamically pull in customer description format and display above the form field
  • Upload Invoice logos on Identity Objects for use in Invoices
  • Change Name To "Load Pay System" -- we're going to think about it
    • Freight Invoicing System
  • Add in an audit log again. ( I ripped it out rather than trying to port it to Django 3.2 )

Docker Environment setup

Out of the box you should be able to run:

$ docker build -t dispatch-tracker:latest .

To build a container that will start up a demo version of the application.

This demo container runs:

  • Nginx
  • uwsgi
  • postgresql

The container image has numerous configuration options via environment variables. Check out the entrypoint.sh file for more information on the specifics there.

With a few tweaks it should be suitable for production deployments, though you'll want to disable the embedded Postgres database and use a separate server, ideally with failover.

To get a development system setup:

It's a pretty straightforward Django application, requirements.txt should point you in the right direction there, app/settings.py can be adjusted to point at whatever database back end you choose via environment variables.

Misc

Name brainstorming / Use case:

Subcontractor invoicing system

Subcontractor Freight Invoicing System

A business solution for subcontractors that don't invoice you.