# Work Calendar A PHP application for managing work calendar and absences. ## Project Structure The project follows a clean architecture pattern with the following components: - **Model**: Contains domain models like `Absence` - **Service**: Contains service classes for business logic - `AbsenceClient`: Handles API communication with the absence.io service - `AbsenceManager`: Manages absence data retrieval and caching - `CalendarService`: Handles calendar generation and processing ## Recent Improvements - Added proper domain model for `Absence` to encapsulate absence data and behavior - Improved service classes with better separation of concerns - Added caching for improved performance - Improved error handling in API client - Removed code duplication - Added early returns for cleaner code flow ## Requirements - PHP 8.1 or higher - Composer - Absence.io API credentials (KEY and ID)