footballmatrix-redesign
A separate copy of footballmatrix that holds a denser, script-free redesign of the public pages. It is not live.
Code: /home/rob/code/footballmatrix-redesign ยท Last checked against commit 21496ac on 2026-10-14
What it is and how it differs
This is the ui-redesign branch of the Football Matrix code, checked out in its own folder. It was branched from the main site on 2 October 2026 and has not been updated since, so it is behind the main copy. The main site has newer data tooling that is missing here: the matrix:build, matrix:daily-build, matrix:link and matrix:unlink commands, and the later rules in its AGENTS.md. For anything about data flow, scrapers, commands, configuration and gotchas, use the footballmatrix page; it is not repeated here.
It is not served by nginx. Its .env points at a local address (port 8089) and the same database name as the main site. It has no scheduled jobs of its own: the server's cron entry runs only the main copy's scheduler.
What the redesign changes
- No JavaScript on public pages (tests check this). Sorting and filtering use links and simple forms.
- Denser layout: compact tables and fixture rows, summary strips instead of large banners, three columns on wide screens and one on phones.
- Honest gaps: unknown values show a dash, never zero. Cards are never shown because the data is not filled in.
- Statistics (appearances, minutes, goals, assists, ratings) are added to player, team and competition pages. They are missing for most cups, internationals and Scottish leagues. Team "records" count results only and are not league standings.
New and changed pages
| Page | What it shows |
|---|---|
/matches | All fixtures on one date. Filters: date, competition, status. |
/teams | Team directory by competition. |
/players | Player finder; it requires at least one filter. |
/transfers | Transfer finder: season, competition, type, fee. |
/search | One search across players, teams and competitions. |
/competitions, /competition/ID, /team/ID, /player/ID, /fixture/ID | Existing pages, redrawn with more filters and statistics. |
An unknown filter value returns "not found". The full filter list is in docs/frontend-redesign.md in the repo.
Running it
Same as the main site. To try it locally:
cd /home/rob/code/footballmatrix-redesign
php artisan serve --port={{PORT}}
Run the redesign tests (they use a throwaway database, not the live one):
cd /home/rob/code/footballmatrix-redesign
vendor/bin/phpunit tests/Feature/PublicRedesignTest.php tests/Feature/PublicRedesignPublicationTest.php
Deploying
It has never been deployed. To release it, the branch would need to be merged into the main footballmatrix code (which has moved on) rather than served from this folder.
Gotchas
- Pointing this copy at the live database while it is older code risks old behaviour touching newer data. Its
.envuses the live database name, so avoid running data commands here. - The statistics and finders rely on a "publication" layer that hides duplicate and merged people. Keep that when merging with the main branch.
- It uses new cache key names (such as
stats:v1:*) so it never reads entries written by the old interface.
Changelog
- Initial version.