A book management system built with PHP 8.3 and SQLite, applying Clean Architecture and SOLID principles. Designed as a reference implementation for writing maintainable, testable PHP code with strict typing.
- Book CRUD operations with validation
- Student management and tracking
- Book rental/return system
- Strict types enforcement throughout
- PHPStan level 8+ static analysis
- Clean separation of concerns (Entities, Use Cases, Repositories)
| Technology | Purpose |
|---|---|
| PHP 8.3 | Core language with strict types |
| SQLite | Lightweight embedded database |
| PHPStan | Static analysis tool |
| PHPUnit/Pest | Testing framework |
src/
βββ Entities/ # Domain entities (Book, Student)
βββ UseCases/ # Application business rules
βββ Repositories/ # Data access interfaces
βββ Infra/ # Infrastructure implementations
git clone https://github.com/rafaumeu/bookwise.git
cd bookwise
composer install
php artisan serve- Clean Architecture applied to PHP
- SOLID principles in practice
- Value Objects and Entity design
- Repository pattern for data access
- Static analysis with PHPStan
MIT