# Project plan — footprintapp-Not-Used

Evidence date: 2026-10-14.

Source repository: `git@bitbucket.org:overdrive/footprintapp-not-used.git`.

Inspected revision: `master` at `593bd151015e4d8d264ba5518ecf172368135711` (2019-09-06, `root <root@ip-10-0-2-5.eu-west-1.compute.internal>`, "Initial Commit"). That commit is `origin/HEAD`. `git ls-remote` on 2026-10-14 printed the same SHA for `HEAD`. `git rev-list --all --count` is 1. `git tag -l` printed nothing. `git branch -a` listed only `master` and `origin/master`.

The scan-host path `~/projects/sonar_scan/repos/footprintapp-Not-Used` was not on this machine. The tree below was read from that git revision.

This plan describes what the repository contains. It does not decide whether the product should stay in service.

No `silicon_ark/footprintapp-Not-Used/` directory existed before these files. `silicon_ark/Footprint-Not-Used/` is a different remote (`footprint-not-used.git`) whose tree is a one-line README. It is not this repository.

## Inspection limits

`multica repo checkout` of this slug was refused: `repo is not configured for this workspace`. A full `git clone` started transferring 46,124 objects and was stopped because the pack was not landing on disk. A blobless clone (`git clone --filter=blob:none --depth 1`) completed the object list. Checking out the working tree on Windows then failed:

```text
error: invalid path 'public/accre/achive/ccpb_05072018171155/Jannie Kleinhans  	 -11423.pdf'
fatal: unable to checkout working tree
```

File names and counts come from `git ls-tree -r HEAD` (48,440 paths). File contents cited below were read with `git show` of that commit. PDF and image blobs were not opened. Bitbucket repository settings returned HTTP 401, so project permissions were not read.

## Product

The application title in `application/layouts/default.phtml` is `Footprint`. The logo alt text is `footprintapp.net`. A commented meta refresh in that layout names `http://footprintapp.net/login/logout`. Password-reset mail in `application/modules/default/controllers/LoginController.php` is sent from `support@footprint.net` with the display name `SARU E-Filing`, and the body addresses the reader as a Footprint user.

The signed-in home counts people, lists this week's fixtures and match officials, completed transfer requests, and new activations. The menu exposes members, organisations, squads, tournaments, fixtures, accreditations, assessments, scouting, blue card, news, food, GIR, and a union home. Provenance: **Implemented** in the layout, menu partial, and `IndexController`. A single product sentence is not written in the repository. The purpose paragraph in `prd.md` is **Inferred** from those screens.

The Bitbucket slug is `footprintapp-not-used`. The scan-host folder recorded on OVER-125 is `footprintapp-Not-Used`. Whether "Not-Used" means the repository was retired is **Unknown / Requires Confirmation**. The application code does not say that it is unused.

Configured MySQL database name: `teamwizz_SARU` on host `localhost` (`application/configs/application.ini`). A second block names database `teamwizz_API`. Provenance: **Implemented** as configuration. A live server was not queried.

## Branch reality

| Line | Tip | Date | What it is |
|---|---|---|---|
| `master` (default; `origin/HEAD`) | `593bd151` | 2019-09-06 | Only branch. One commit. No parents |

The commit dumps the whole tree. There is no earlier Git history. `changelog.txt` at the root records two notes dated 13/05/2019 and 17/05/2019, author initials `HDP`, against `MembersController.php` and `SquadController.php`. Those notes sit inside the dump. They are not separate commits. Provenance: **Documented** in `changelog.txt`, **Implemented** only as text in the 2019-09-06 tree.

OVER-125 (captured 2026-09-28) recorded the same tip: `593bd151`, 2019-09-06, "Initial Commit", branch `master`. This clone agrees. The issue's top-level structure block was empty. The git tree is not empty. See [Discrepancy with the onboarding scan](#discrepancy-with-the-onboarding-scan).

## Objectives

No project plan, issue tracker, or README exists in this repository. `changelog.txt` is the only change log, and it stops at 17/05/2019.

**Unknown / Requires Confirmation** whether anyone still operates this tree, and whether `silicon_ark/FootPrintLive/` (remote `footprintlive.git`) replaced it.

## Scope

### In the `master` tree

1. A Zend Framework 1.11.10 PHP application under `application/`, `library/Zend/`, `library/PG/`, and `public/index.php`.
2. Twelve front-controller modules: `accreditations`, `admin`, `api`, `app`, `default`, `gir`, `live`, `printers`, `pub`, `referee`, `union`, `union_old`.
3. 270 PHP files directly under `application/models/`.
4. Vendored libraries and a full `phpMyAdmin/` tree.
5. A large file store under `public/`, especially `public/accre/` (31,507 paths) and `public/IMGS/` (3,102 paths).
6. Root scripts `mssql.php`, `boksmartmssql.php`, `phpinfo.php`, `.htaccess`, and `htaccess.bak.040519`.

### Out of scope / not established

- A written roadmap after May 2019.
- Proof that this slug is retired, or that `FootPrintLive` is a later copy. The trees were not diffed.
- Contents of the scan-host working tree. That path was not on this machine.
- Live database rows, DNS, or the host that still serves `footprintapp.net`.
- Behaviour documented only for other Silicon Ark projects.

## System shape

```text
Browser or API client
  -> Apache rewrite (.htaccess) into public/
  -> public/index.php (Zend_Application, timezone Africa/Johannesburg)
  -> application/modules/<module>/controllers
  -> MySQL teamwizz_SARU via pdo_mysql (configured host localhost)
  -> optional calls seen in code:
       MyMobileAPI (SMS)
       https://fsrugby.appwizard.co.za/scripts/AppWiz.dll (cron POST)
       MSSQL hosts in root debug scripts
       Zend_Mail from support@footprint.net
```

There is no `bitbucket-pipelines.yml`, `Dockerfile`, or application-level `composer.json`. Provenance: **Implemented** as absence from `git ls-tree`.

## Major components

| Component | Where | Role |
|---|---|---|
| Front controller | `public/index.php` | Boots Zend, default env `production` |
| Modules | `application/modules/` | Web areas and the `api` module |
| Models | `application/models/` | Zend_Db_Table-style classes (270 files at this level) |
| Layouts | `application/layouts/*.phtml` | One layout per module name, selected by `PG_Controller_Plugin_LayoutPicker` |
| Menu | `application/modules/default/views/scripts/menu/default.phtml` | Signed-in navigation and role gates |
| PG helpers | `library/PG/Controller/Plugin/` | Layout, mail layout, upload, match report, PDF helpers |
| PDF / Excel | `public/tcpdf/`, `public/dompdf/`, `public/Classes/PHPExcel.php` | Libraries on disk. Which screens call them was not fully traced |
| Accreditation files | `public/accre/` | 31,507 tracked paths, mostly PDF |
| phpMyAdmin | `phpMyAdmin/` | Vendored admin UI at the repository root (2,569 paths) |
| API log DB config | `apilogs.db` in `application.ini` | Names MySQL database `teamwizz_API`. Not registered as `resources.db` |

## Milestones visible in git

| When | Commit | What landed |
|---|---|---|
| 2019-05-13 | text only, inside `changelog.txt` | Note: extra column on the member-list Excel export (`MembersController.php`, `generateExcel`) |
| 2019-05-17 | text only, inside `changelog.txt` | Note: competition-squad file-type check uses the checklist document and the last upload for the current year (`SquadController.php`, `competitionsquadAction`) |
| 2019-09-06 | `593bd151` | Single commit of the entire tree from an EC2 host in `eu-west-1` |

No commit exists after 2019-09-06. OVER-125 already named this tip on 2026-09-28.

## Implementation plan

There is no forward plan in the repository. Current status: **one snapshot commit of a working-sized Footprint application, unchanged in Git since 2019-09-06**.

Whether the snapshot is still deployed is **Unknown / Requires Confirmation**.

## Known dependencies

| Dependency | Evidence | Provenance |
|---|---|---|
| PHP with the Zend Framework 1.11.10 tree in `library/Zend/` | `library/Zend/Version.php` constant `VERSION = '1.11.10'` | **Implemented** |
| MySQL via `pdo_mysql` | `application.ini` | **Implemented** as config |
| Apache `mod_rewrite` | Root `.htaccess` | **Implemented** |
| jQuery UI 1.12.1, Bootstrap CSS, DataTables, FullCalendar, Cropper, Font Awesome 4.7.0 from cdnjs | `application/layouts/default.phtml` | **Implemented** as markup |
| MyMobileAPI HTTP API | `public/class/sms.php` | **Implemented** as a client class. Credentials are hardcoded and are not copied into this plan |
| SparkPost PHP files | `public/SparkPost/` | **Implemented** as files. Call sites were not searched across the whole tree |
| TCPDF, Dompdf, PHPExcel | `public/tcpdf`, `public/dompdf`, `public/Classes` | **Implemented** as libraries |
| `mssql` PHP extension | `mssql.php`, `boksmartmssql.php` | **Implemented** as scripts. Whether they are still invoked by the app is **Unknown** |

`public/index.php` sets `memory_limit` to `200M` and the timezone to `Africa/Johannesburg`.

## Related Silicon Ark projects

These are other directories. They are not files in this remote.

| Silicon Ark directory | What is known | Link to this slug |
|---|---|---|
| `FootPrintLive` | Documents `footprintlive.git`. Its technical notes also name MySQL database `teamwizz_SARU` and a Zend 1 module layout | **Unknown** whether that repo is a copy, a successor, or a fork. The trees were not diffed |
| `Footprint-Not-Used` | Documents `footprint-not-used.git`. Only `README.md` with the heading `Footprint`. Different commit (`76b2c93`, 2019-05-22, Jaco Brits) | Not this tree |
| `footprint-lambda` | `.gitignore` only | Not this tree |
| `tournaments.footprintapp.net` | `.gitignore` only | Not referenced from the files read here |
| `track.mypass.zone` | Documented elsewhere as another Zend 1 tree that also configures `teamwizz_SARU` | Not proven from this remote in the files read here |

Sharing a database name is not proof of a shared live database.

## Discrepancy with the onboarding scan

OVER-125 lists this top-level structure for the scan-host path:

```text

```

The block is empty. `git ls-tree` of `593bd151` has 48,440 paths, including `application/`, `library/`, `phpMyAdmin/`, `public/`, `.htaccess`, `changelog.txt`, `mssql.php`, `boksmartmssql.php`, and `phpinfo.php`. The scan-host directory could not be opened here, so those two pictures were not compared on disk. The Bitbucket tip matches the commit OVER-125 named. Provenance of the empty listing: **Documented** in the issue. Provenance of the tree: **Implemented**.

## Human confirmation

- Is `footprintapp-not-used` retired, and does `FootPrintLive` replace it?
- Which hostname still serves this tree, if any?
- Are `teamwizz_SARU` and `teamwizz_API` still the live databases, and are they shared with other repositories?
- Should the committed credentials (database, SMS, MSSQL, and a fixed login password in `LoginController`) be rotated? Values are not repeated in these documents.
- Who the numeric `UnionType` values and the hardcoded `UserID` menu gates refer to.
- What "GIR" stands for. The module exists. The index view is a stock theme sample and does not define the acronym.
- Whether the BokSmart and RDS scripts are operational or leftover probes.
- Whether the accreditation PDFs under `public/accre/` are still required in Git.
