Task-by-task plan for the design committed at 27cdb46. 14 tasks with 4 hard-pause checkpoints at natural demo points: - After Task 6 (backend helpers done) - After Task 8 (multi-select modal + filter pills) - After Task 12 (full HTML layout — all 4 chapters) - After Task 14 (PDF mirrored + QA + shipped note) Task 1 is a pure refactor (extract _compute_outstanding from index()) so later tasks can reuse the dashboard math with filters. Tasks 2-5 add the new helpers alongside existing code with failing-test-first discipline. Task 6 switches the main helper to multi-value filters (project_ids/team_ids) — existing behaviour preserved via backward- compatible getlist. Tasks 7-12 restructure the HTML template into Hero + 4 chapters. Task 13 mirrors in the PDF. Task 14 QAs and ships. ~11 new tests across 4 test classes; total grows from 28 to ~39. One new dependency: Choices.js 10.2.0 via CDN, admin-only gated, graceful fallback to native multi-select on CDN failure. Follows the CLAUDE.md conventions: # === SECTION === comments, plain-English docstrings, subquery-filter pattern for M2M filters, single-batched push at the end, Co-Authored-By trailer on every commit, never amend. Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
Flatlogic Python Template Workspace
This workspace houses the Django application scaffold used for Python-based templates.
Requirements
- Python 3.11+
- MariaDB (or MySQL-compatible server) with the credentials prepared by
setup_mariadb_project.sh - System packages:
pkg-config,libmariadb-dev(already installed on golden images)
Getting Started
python3 -m pip install --break-system-packages -r requirements.txt
python3 manage.py migrate
python3 manage.py runserver 0.0.0.0:8000
Environment variables are loaded from ../.env (the executor root). See .env.example if you need to populate values manually.
Project Structure
config/– Django project settings, URLs, WSGI entrypoint.core/– Default app with a basic health-check route.manage.py– Django management entrypoint.
Next Steps
- Create additional apps and views according to the generated project requirements.
- Configure serving via Apache + mod_wsgi or gunicorn (instructions to be added).
- Run
python3 manage.py collectstaticbefore serving through Apache.
Description
Languages
JavaScript
42.5%
SCSS
41.7%
CSS
11.9%
Python
3.2%
HTML
0.6%