Skip to content

Commit 9b4f910

Browse files
committed
refactor: modernize Laravel 13 template foundation
Update Laravel and frontend tooling within the current major release lines, add the Laravel Pail development workflow, and keep dependency upgrades backward compatible. Extract reusable validation and support classes for file management, settings, notifications, profiles, and role access while preserving existing routes and public behavior. Modernize core Blade views for Bootstrap 5 conventions and document the SQLite PHP extensions required for the local test suite.
1 parent 8dd6830 commit 9b4f910

57 files changed

Lines changed: 1786 additions & 1141 deletions

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

.env.example

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -31,6 +31,7 @@ DB_PASSWORD=
3131
# For SQLite (simpler setup), use:
3232
# DB_CONNECTION=sqlite
3333
# DB_DATABASE=database/database.sqlite
34+
# Testing uses SQLite by default; enable pdo_sqlite and sqlite3 in your PHP CLI.
3435

3536
SESSION_DRIVER=database
3637
SESSION_LIFETIME=120

CHANGELOG.md

Lines changed: 17 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -2,6 +2,23 @@
22

33
All notable changes to this project will be documented in this file.
44

5+
## [4.1.0] - 2026-04-24
6+
7+
### Updated
8+
- Updated Laravel 13 dependencies within the current major release line.
9+
- Added `laravel/pail` and wired it into the combined `composer run dev` workflow.
10+
- Updated frontend tooling within the current major release line and added `concurrently` as an explicit dev dependency.
11+
12+
### Refactored
13+
- Extracted file manager folder normalization and file type filtering into reusable support classes.
14+
- Extracted default settings into a shared source used by both the seeder and settings reset flow.
15+
- Moved profile, settings, notification, file manager, and role access validation into Form Request classes.
16+
17+
### Improved
18+
- Modernized application Blade views from Bootstrap 4 modal/alert/form helper attributes to Bootstrap 5 conventions.
19+
- Added focused unit tests for reusable support classes and Form Request rule contracts.
20+
- Documented the local SQLite PHP extensions required by the default test suite.
21+
522
## [4.0.0] - 2026-03-18
623

724
### 🚀 Upgraded to Laravel 13

CONTRIBUTING.md

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -3,6 +3,11 @@
33
Thanks for contributing to this project.
44

55
## Local quality checks
6+
Make sure your PHP CLI has SQLite testing support enabled:
7+
```bash
8+
php -m | grep -E "pdo_sqlite|sqlite3"
9+
```
10+
611
Run before opening PR:
712
```bash
813
php artisan route:list --except-vendor
@@ -23,6 +28,7 @@ npm run build
2328
- Keep controllers focused and validate requests
2429
- Preserve backward compatibility where practical
2530
- Prefer route grouping by domain
31+
- Keep dependency upgrades within the current major version unless a release is explicitly planned as breaking
2632

2733
## Reporting issues
2834
Include:

README.MD

Lines changed: 13 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -113,6 +113,7 @@
113113
## Prerequisites
114114

115115
- PHP ≥ 8.3
116+
- PHP extensions: `mbstring`, `pdo`, `pdo_sqlite`, `sqlite3`
116117
- Composer
117118
- Node.js ≥ 20
118119
- npm
@@ -146,6 +147,12 @@ npm run dev # Terminal 1 — Vite dev server
146147
php artisan serve # Terminal 2 — Laravel dev server
147148
```
148149

150+
Or run the combined development stack:
151+
152+
```bash
153+
composer run dev
154+
```
155+
149156
Open **http://localhost:8000** and register a new account.
150157

151158
### Superadmin Setup
@@ -289,6 +296,9 @@ stubs/ # Generator stubs for CRUD scaffolding
289296
# Run the test suite
290297
php artisan test
291298

299+
# Confirm SQLite testing support is available
300+
php -m | grep -E "pdo_sqlite|sqlite3"
301+
292302
# Validate all routes resolve correctly
293303
php artisan route:list --except-vendor
294304

@@ -334,6 +344,9 @@ To report a security vulnerability, please open a private issue or email the mai
334344
### `php artisan route:list` fails
335345
Check for syntax or import errors in custom controllers.
336346

347+
### `php artisan test` fails with `could not find driver`
348+
Enable `pdo_sqlite` and `sqlite3` for your PHP CLI installation. The test suite uses an in-memory SQLite database by default.
349+
337350
### Password reset / OTP issues
338351
- Verify `PASSWORD_RESET_METHOD` and `MAIL_*` settings in `.env`
339352
- Ensure the reset link token is valid and not expired

0 commit comments

Comments
 (0)