Skip to content

Modernise the Codebase#256

Open
JonPurvis wants to merge 1 commit intojgrossi:masterfrom
JonPurvis:update/modernise
Open

Modernise the Codebase#256
JonPurvis wants to merge 1 commit intojgrossi:masterfrom
JonPurvis:update/modernise

Conversation

@JonPurvis
Copy link
Collaborator

Overview

Firstly, thanks to @jgrossi for inviting me to be a maintainer on this project! I think the first port of call is to update the tech stack to a more modern stack and give the site a bit of a facelift, which is what this PR does.

Stack & dependencies

  • PHP 7.4 → 8.5
  • Laravel 7 → 12
  • Bootstrap removed; UI rebuilt with Flux UI and Tailwind CSS
  • Livewire v4 (with wire:navigate for SPA-style navigation)
  • Frontend: Vite 7 with laravel-vite-plugin v2; Tailwind v4. Axios and Stimulus removed (Livewire handles requests and interactivity).
  • Faker: abandoned fzaninotto/faker replaced with FakerPHP
  • Testing: Pest PHP with in-memory SQLite; tests run in parallel

UI/UX

  • All main views converted to Flux components (cards, buttons, forms, callouts, badges, etc.)
  • Profile/Settings redesigned: sectioned layout (title + description left, form right), separate forms per section, dividers
  • Trade area: country filter is Livewire (no full page reload); trader count restored; trade status on My Herd shown as badges (green “X in trade area” / grey “0 in trade area”)
  • Homepage (logged out): hero background grey; Register primary, Login outline
  • Ranking: country column plain text; filter via dropdown only
  • Species/My Herd: search without Reset/Clear buttons; consistent empty states
  • Feedback: success and status messages use Flux callouts (icon + heading) across the app
  • wire:navigate loading bar styled to match theme (purple)

Tooling & CI

  • GitHub Actions on pull requests: Pint, Larastan, Pest (in that order)
  • Pint and Larastan in use for style and static analysis; PHPStan passes (incl. Livewire computed properties and pivot type hints via ElephpantUserPivot)

Other


Screenshots

Screenshot 2026-03-07 at 17 42 33 Screenshot 2026-03-07 at 17 43 33 Screenshot 2026-03-07 at 17 43 25 Screenshot 2026-03-07 at 17 43 08

@JonPurvis
Copy link
Collaborator Author

@jgrossi @teiling88 What do you guys think?

@teiling88
Copy link
Collaborator

Quick update for everyone: Junior and I are working on the hand-over! My first priority is a full server migration to a more modern environment.

Regarding this PR: it’s a massive addition, and while I’d love to see it integrated, we need to fix the base first (PHP versions, infra) before we can move on. Additionally, I’m not a Laravel expert and currently don't have the capacity to do a deep dive into an AI PR of this scale.

@JonPurvis
Copy link
Collaborator Author

@teiling88 Happy to leave this open for now. Have specifics such as PHP version in the new environment been decided yet?

@teiling88
Copy link
Collaborator

@JonPurvis It’s configurable, so our plan is to start with PHP 7.4 to ensure a smooth migration, and then immediately move forward to PHP 8.4/8.5.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

Laravel + PHP update Implementation Tests

2 participants