2025-03-13 21:13:14 +01:00

909 B

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)