How aljonjaymatas-code/law-office-management-system-ft.-mysql works
LOMS is a PHP/MySQL law-office portal with separate client, staff, and admin experiences. Users sign in to their role-specific portal to manage matters, clients, documents, appointments, and time; clients can request appointments and document access, while staff and lawyers handle operational and review work. The README also describes broader docketing, conflict checking, document-generation, and integrations, but sampled source does not establish those implementations. Edges reflect only visible calls/data access or explicit documentation; unsampled feature connections are omitted.
Main entry points: _bootstrap.php Staff Session · Client/index.php Client Portal · Staff/index.php Staff Portal · Admin/index.php Admin Portal
Components 20
User Portals
- Client Portal
Client/index.php - Client Interface
Client/js/client-app.js - Client Session
Client/_bootstrap.php - Staff Portal
Staff/index.php - Staff Layout
Staff/_layout.php - Staff Session
Staff/_bootstrap.php - Admin Portal
Admin/index.php - Admin Roles
Admin/_auth.php
Practice Operations
- Client Intake
Staff/clients.php - Matter Management
Staff/cases.php - Scheduling
Staff/appointments.php - Timekeeping
Staff/time_entries.php - Document Management
Staff/documents.php - Access Requests
Staff/document-access-request.php - Cross-Portal Search
Staff/search.php
Shared Services
- Notification Service
config/notifications.php - Notification API
notification-read.php - Database Connection
config/db.php
Persistence
- MySQL Database
Other components
- Client, Staff, Lawyer
Connections 29
- Client, Staff, Lawyer → Client Portal: uses portal
README.md - Client, Staff, Lawyer → Staff Portal: uses portal
README.md - Client, Staff, Lawyer → Admin Portal: uses portal
README.md - Client Portal → Client Session: resolves session
Client/index.php - Client Portal → MySQL Database: reads and writes
Client/index.php - Client Portal → Notification Service: creates alerts
Client/index.php - Client Interface → Client Portal: renders portal
- Staff Portal → Staff Session: requires auth
Staff/index.php - Staff Portal → Staff Layout: renders layout
Staff/index.php - Staff Portal → MySQL Database: reads data
Staff/index.php - Staff Layout → Notification API: fetches alerts
Staff/_layout.php - Staff Layout → Cross-Portal Search: fetches suggestions
Staff/_layout.php - Client Intake → Staff Session: checks access
Staff/clients.php - Client Intake → MySQL Database: reads and writes
Staff/clients.php - Matter Management → Staff Session: checks access
Staff/cases.php - Scheduling → Staff Session: checks access
Staff/appointments.php - Scheduling → Notification Service: creates alerts
Staff/appointments.php - Timekeeping → Staff Session: checks access
Staff/time_entries.php - Document Management → Staff Session: checks access
Staff/documents.php - Access Requests → Staff Session: checks access
Staff/document-access-request.php - Cross-Portal Search → Staff Session: checks access
Staff/search.php - Cross-Portal Search → MySQL Database: queries records
Staff/search.php - Admin Portal → Admin Roles: checks role
Admin/index.php - Admin Portal → MySQL Database: reads and writes
Admin/index.php - Admin Portal → Notification Service: loads alerts
Admin/index.php - Database Connection → MySQL Database: opens connection
config/db.php - Notification API → Database Connection: loads connection
notification-read.php - Notification API → MySQL Database: reads and updates
notification-read.php - Notification Service → MySQL Database: inserts alerts
config/notifications.php