Important Requirement: - This module is an add-on and requires installation of SocietyPro – Society Management Software ( MAIN APP )
- It is not a standalone product and cannot be used without the main app
StorageGuard Module for SocietyPro
The StorageGuard Module adds a robust layer of safety for Laravel-based SocietyPro installations by ensuring that all essential storage and cache directories exist at runtime. By automatically creating required storage paths (such as
storage/framework,
storage/framework/cache/data, and others), it prevents common Laravel errors like
file_put_contents: No such file or directory. StorageGuard transparently wraps filesystem and cache write operations for SocietyPro, maximizing reliability—especially after deployments, cache clears, or in fresh hosting/container environments.
Note: StorageGuard is a drop-in SocietyPro module. It requires no application code changes, no extra configuration, and is safe for both production and development environments.
Technical Features
- Automatically ensures all critical Laravel/SocietyPro storage and cache directories exist before write operations
- Prevents application errors from missing storage paths for cache, logs, and Blade view compilation
- Custom Laravel filesystem binding to auto-create directories as needed (
put, append, prepend) - Middleware for checking/enforcing directory structure on every web request (integrated with the
web group in SocietyPro) - Fully compatible with SocietyPro’s and Laravel’s cache, log, and filesystem mechanisms
Usage Requirements
- A SocietyPro installation (Laravel 8+ tested; no minimum Laravel version specified)
Setup & Operation
- Install and enable the StorageGuard module inside your SocietyPro app (service provider is auto-registered).
- No migrations or manual setup required—the module automatically manages all paths and registration internally.
- To check and repair required directories manually, use the provided service:
Modules\StorageGuard\Services\PathEnsurer::ensureBasePaths()
- The middleware alias
storageguard.ensure is auto-applied to all web requests but may be manually added/removed as needed for SocietyPro routes.
StorageGuard all but eliminates missing-directory errors in SocietyPro, minimizing deployment headaches and runtime issues.