How rparvz700/admin360 works
1. This is a single Laravel 11 monolith: HTTP requests enter through routes/web.php and routes/auth.php, are handled by feature controllers in app/Http/Controllers, persisted through Eloquent models in app/Models, and rendered as Blade views in resources/views.
2. The application is organized by business domain rather than by technical layer. Major subsystems include Admin, Facilities Management, Vehicle Management, Ticket Management, Invoice Management, Generic Document Management, and Vehicle Maintenance Management. Each domain has its own controller folder, model set, and view subtree.
3. Authentication and user lifecycle are a first-class subsystem. The repo includes the standard Laravel auth flow plus custom controllers for login, registration, password reset, email verification, profile editing, and session confirmation. These screens live under resources/views/auth and resources/views/profile, with request validation in app/Http/Requests/Auth and ProfileUpdateRequest.
4. Authorization is built around Spatie Roles & Permissions. The config/permission.php config, the create_permission_tables migration, and the RoleSeeder, PermissionSeeder, and SuperAdminSeeder indicate a database-backed RBAC layer that gates access across admin and module controllers.
5. The Admin subsystem manages core master data: users, roles, departments, and subcenters. Its controllers and request classes follow a standard CRUD pattern with dedicated create/edit/index/show views and validation requests for store/update operations.
6. Facilities Management is a large domain covering buildings, floors, agreements, rent, security deposits, assets, asset categories, and asset attributes. The domain uses separate models for property and rental entities, suggesting a relational model where buildings contain floors, agreements drive rent and deposits, and assets have extensible attributes/values.
7. Vehicle Management is another major domain with vehicles, drivers, vehicle types, document categories, document attributes, and document records. The presence of document attribute/value models shows a configurable metadata pattern similar to the generic document and asset modules.
8. Vehicle Maintenance Management expands the vehicle domain with maintenance records, operational logs, parts, vendors, and reports. The views include reporting screens such as service due, vendor cost, vehicle cost, monthly expenses, and parts history, so this subsystem is not just CRUD; it also produces operational analytics.
9. Ticket Management provides a workflow around tickets, ticket updates, attachments, and vehicle assignment. Separate admin ticket controllers and admin-specific views suggest role-based triage or oversight distinct from regular ticket submission and viewing.
10. Generic Document Management is a reusable document metadata system. It has categories, attributes, documents, and attribute values, plus a client-side field generator in public/js/generic-document-attribute-fields.js, indicating dynamic forms that adapt to selected document schema.
11. The UI is server-rendered Blade with reusable layouts and components. Shared structure lives in resources/views/layouts, resources/views/Partials, and resources/views/components, while domain pages are composed from those common building blocks. Front-end behavior is added with static assets in public/js and compiled assets in resources/js / resources/css via Vite.
12. Persistence is conventional relational MySQL/PostgreSQL-style Laravel storage: feature-specific migrations define tables for each module, factories and seeders populate baseline data, and the storage directory handles cached views, sessions, logs, and public/private file storage. There is no separate service layer or external API architecture visible in the tree.
13. The test suite is focused on framework and auth behavior rather than domain logic. Feature tests cover registration, authentication, password reset/update, email verification, and profile flows, which matches the repo’s emphasis on secure access control and CRUD-driven internal workflows.
Main entry points: web.php Web routes · Auth Auth flow · Admin Admin CRUD · migrations Migrations
Components 23
Routing & UI
HTTP entry points and server-rendered presentation
- Web routes · Primary browser entry routes
routes/web.php - Layouts · Shared page shells and navigation
resources/views/layouts - Components · Reusable UI primitives
resources/views/components
Auth & Access
Authentication, profile lifecycle, and RBAC
- Auth routes · Authentication route definitions
routes/auth.php - Auth flow · Login, registration, password, and verification controllers
app/Http/Controllers/Auth - Auth requests · Validation for login and auth/profile updates
app/Http/Requests/Auth - RBAC config · Spatie roles and permissions configuration
config/permission.php - RBAC seeders · Bootstrap roles, permissions, and super admin data
database/seeders
Admin
Core master-data administration
- Admin CRUD · Users, roles, departments, and subcenters
app/Http/Controllers/Admin - Admin requests · Store/update validation for admin master data
app/Http/Requests - Admin models · Users, roles-related entities, departments, and subcenters
app/Models
Facilities
Buildings, rentals, deposits, and assets
- Facilities · Buildings, floors, agreements, rent, deposits, and assets
app/Http/Controllers/FacilitiesManagement - Facility models · Property, agreement, rent, deposit, and asset records
app/Models
Vehicles
Vehicle registry, documents, and maintenance
- Vehicles · Vehicle registry, drivers, and vehicle document management
app/Http/Controllers/VehicleManagement - Maintenance · Logs, parts, vendors, and operational reports
app/Http/Controllers/VehicleMaintenanceManagement - Vehicle models · Vehicles, documents, logs, maintenance, parts, vendors, and types
app/Models
Documents
Generic document metadata and dynamic forms
- Document mgmt · Generic categories, attributes, and documents
app/Http/Controllers/GenericDocumentManagement - Document models · Reusable category, attribute, and value schema
app/Models
Workflows
Ticketing and invoicing subsystems
Platform
Persistence, shared assets, and tests
- Storage & assets · Cached views, sessions, logs, uploads, and static JS/CSS
storage - Migrations · Database tables for auth, RBAC, and each business domain
database/migrations - Auth tests · Registration, login, password reset, email verification, and profile flows
tests/Feature/Auth
Connections 30
- Web routes → Auth flow: dispatches · Web routes send requests into auth and application controllers
- Auth routes → Auth flow: dispatches · Dedicated auth routes map to the authentication lifecycle
- Web routes → Admin CRUD: dispatches · Admin routes expose CRUD entry points
- Web routes → Facilities: dispatches · Facilities routes serve the property and rental domain
- Web routes → Vehicles: dispatches · Vehicle routes serve registry and documents
- Web routes → Maintenance: dispatches · Maintenance routes serve logs and reports
- Web routes → Document mgmt: dispatches · Generic document routes handle metadata-driven forms
- Web routes → Tickets: dispatches · Ticket routes cover submission and admin oversight
- Web routes → Invoices: dispatches · Invoice routes expose billing CRUD
- Auth flow → Auth requests: validates with · Auth and profile inputs are validated through form requests
- Auth flow → Layouts: renders · Auth pages compose shared layout shells
- Auth flow → Components: uses · Auth UI reuses shared Blade components
- Auth flow → Auth tests: covered by · Authentication behavior is primarily exercised by feature tests
- Admin CRUD → Admin requests: validates with · Admin CRUD operations use dedicated store/update requests
- Admin CRUD → Admin models: persists · Admin CRUD reads and writes master-data models
- Admin CRUD → Layouts: renders · Admin screens use the shared application shell
- Facilities → Facility models: persists · Facilities controllers orchestrate property and rent entities
- Facilities → Layouts: renders · Facilities pages are server-rendered with shared layouts
- Vehicles → Vehicle models: persists · Vehicle controllers manage vehicles, drivers, and document records
- Maintenance → Vehicle models: analyzes · Maintenance features generate operational and cost reports from vehicle data
- Document mgmt → Document models: persists · Generic document controllers manage categories, attributes, and values
- Tickets → Vehicle models: links · Ticket workflows can assign or relate vehicles
- Invoices → Facility models: bills against · Invoices likely relate to property and agreement data
- RBAC config → Admin CRUD: gates · Roles and permissions restrict administrative access
- RBAC seeders → RBAC config: bootstraps · Seeders populate the RBAC tables defined by the permission package
- Migrations → Admin models: defines schema · Core tables underpin admin and user master data
- Migrations → Facility models: defines schema · Property, agreement, rent, deposit, and asset tables
- Migrations → Vehicle models: defines schema · Vehicle, document, maintenance, and log tables
- Migrations → Document models: defines schema · Generic document metadata tables
- Storage & assets → Layouts: serves · Shared runtime assets and compiled front-end support rendered views