How bottelet/daybydaycrm works
DaybydayCRM is a self-hosted CRM. Its central workflow is managing clients and their leads, projects, and tasks, with related billing, files, appointments, and staff operations. The README documents these capabilities; sampled controller code supports the client/task request flow and adapter resolution for file storage. Other feature modules are represented by their exact controller directories, but their internal wiring was not sampled, so uncertain connections are omitted.
Main entry points: TasksController.php Task controller · ClientsController.php Client controller · Middleware HTTP middleware · Events Action events
Components 26
Web entry
- Web routes
routes/web.php - HTTP middleware
app/Http/Middleware
CRM workflow
- Client controller
app/Http/Controllers/ClientsController.php - Client service
app/Services/Client/ClientService.php - Client records
app/Models/Client.php - Client views
resources/views/clients - Lead management
app/Http/Controllers/LeadsController.php - Project management
app/Http/Controllers/ProjectsController.php - Task controller
app/Http/Controllers/TasksController.php - Task service
app/Services/Task/TaskService.php - Task records
app/Models/Task.php - Task views
resources/views/tasks - Global search
app/Http/Controllers/SearchController.php
Billing and files
- Invoice and payments
app/Http/Controllers/InvoicesController.php - Billing services
app/Services/Invoice/InvoiceService.php - Billing records
app/Models/Invoice.php - Document handling
app/Http/Controllers/DocumentsController.php - Storage registry
app/Services/Storage/StorageAdapterRegistry.php - Storage adapters
app/Services/Storage
Staff operations
- Appointments
app/Http/Controllers/AppointmentsController.php - Absence tracking
app/Http/Controllers/AbsenceController.php - Users and roles
app/Http/Controllers/UsersController.php
Shared runtime
- CRM settings
app/Http/Controllers/SettingsController.php - Action events
app/Events - Notifications
app/Jobs/ProcessNotifications.php
Other components
- CRM user
Connections 16
- CRM user → Web routes: submits requests
- Web routes → HTTP middleware: passes through
- HTTP middleware → Client controller: dispatches
- Client controller → Client service: creates and queries
- Client service → Client records: reads and writes
- Client controller → Client views: renders
- HTTP middleware → Task controller: dispatches
- Task controller → Task service: creates and assigns
- Task service → Task records: updates records
- Task controller → Task records: queries and updates
- Task controller → Task views: renders
- Task controller → Storage registry: resolves upload driver
- Storage registry → Storage adapters: selects adapter
- Client controller → Action events: dispatches action
- Task controller → Action events: dispatches action
- Action events → Notifications: triggers processing