Bookwise is a comprehensive platform for book management and reviews. The project offers a fluid experience for cataloging your readings, sharing opinions, and discovering new titles.
Built with Modern PHP, Bookwise implements a secure and organized architecture, serving as a robust solution for tracking your literary journey.
- π Secure Authentication: Complete Login and Registration system, protecting sensitive routes.
- π Explore & Discover: Visual book catalog with informative cards, average ratings, and authors.
- π Smart Search: Find books by title, author, or keywords in the description.
- β Ratings & Reviews: Rate books (1-5 stars) and write detailed reviews.
- πΈ Cover Uploads: Register new books by uploading custom cover images.
- π Public-Facing Architecture: Directory structure optimized for security, isolating application logic from public access.
- PHP 8.2 or higher
- SQLite3 extension enabled in
php.ini
-
Clone the repository
git clone https://github.com/rafaumeu/bookwise.git cd bookwise -
Start the Server Use the built-in PHP server pointing to the public folder:
php -S localhost:8888 -t public
-
Access the Project Open your favorite browser at: http://localhost:8888
- Language: PHP 8.3 (Focus on Typing and Modern Features)
- Database: SQLite (Lightweight and fast, no separate server needed)
- Styling: TailwindCSS (Modern and responsive design)
- Pattern: Simplified MVC (Model-View-Controller)
bookwise/
βββ App/ # Application Logic
β βββ Controllers/ # HTTP Request Handlers
β βββ Middlewares/ # Route Protection
β βββ Models/ # Data Entities
βββ Core/ # Framework Core (Lockbox Standard)
β βββ Database.php, Route.php, Session.php...
βββ config/ # Configuration & Routes
βββ public/ # Entry Point (index.php)
βββ views/ # Frontend Templates
## π‘οΈ Quality & Security
- **PHPStan**: Running at **Level 6** (Strict Typing enforced).
- **Pint**: PSR-12 automatic code formatting.
- **Strict Types**: `declare(strict_types=1);` in 100% of files.