No description
Find a file
2026-01-19 14:15:29 +13:00
.vscode work in progress which has been lingering 2024-02-05 16:06:46 +13:00
admin :fix functional dockerfile 2025-11-25 12:07:37 +13:00
campaign_manager :feat address map on addresslists get 2026-01-19 14:15:29 +13:00
features work in progress which has been lingering 2024-02-05 16:06:46 +13:00
git-hooks :fix Alembic applies, but include_object is not working 2025-12-13 15:27:00 +13:00
migrations :refactors removes model duplication 2026-01-09 16:41:35 +13:00
tests :feat improves permission performance 2026-01-19 12:34:25 +13:00
tools/jurisdiction_json :feat static file of the jurisdictions 2025-12-12 14:31:08 +13:00
.envrc moves to python3.12 2024-04-07 13:53:39 +12:00
.envrc.ps1 :feat start updating index page styles 2025-11-24 19:45:36 -05:00
.gitignore :feat test server setup 2025-11-17 15:43:20 +13:00
alembic.ini first database migration 2024-05-27 15:35:28 +12:00
developer-requirements.txt first database migration 2024-05-27 15:35:28 +12:00
Dockerfile :fix functional dockerfile 2025-11-25 12:07:37 +13:00
README.md :fix Alembic applies, but include_object is not working 2025-12-13 15:27:00 +13:00
requirements.txt :fix Alembic applies, but include_object is not working 2025-12-13 15:27:00 +13:00
TODO.MD :fix assigns transactions to link tables 2026-01-10 14:38:17 +13:00

CampaignManager

Current Usage

This project is being used publicly as a source of truth for geographic infomation.

Vision

This software allows a team to co-ordinate a political or public relations campaign. This software includes elements of a Customer Relationship Management (CRM) tool and a project management tool.

Features are defined in the features directory.

Tools

Installation

#TODO: Add installation instructions

Getting to postgres

docker run --name campaignmanager-postgres \
    -e "POSTGRES_PASSWORD=${POSTGRES_PASSWORD}" \
    -p  127.0.0.1:5432:5432 \
    -d postgres

Usage

Very early days

flask run --debug

The --debug flag enables hot-reloading and detailed error pages for development.

Docker

To build the docker image simply run:

docker build -t campaign-manager .

Then

docker save -o ~/Downloads/CM-20251124.tar campaign-manager

Upload with scp then install with

OAuth

The OAuth logins require configuration at the far end.

Nationbuilder

The "App" in Nationbuilder uses this callback URL http://127.0.0.1:5000/login/nationbuilder/authorized

Support

No support for this version

Contributing

Python code is formatted with black and linted with flake8 Development has been done on OSX 14, dependencies on that platform un not desired, but probably exist.

#TODO: Add contributing guidelines

Authors and acknowledgment

Steven Ensslen

License

GNU AFFERO GENERAL PUBLIC LICENSE Version 3 https://www.gnu.org/licenses/agpl-3.0.html