Skip to content

Repository files navigation

Stalwart Security Operations Platform

A full-stack security services, workforce, incident, fleet, and content management platform built with Laravel.

Laravel 13 PHP 8.3 Tailwind CSS 4 SQLite MIT License

Overview

Stalwart Security Operations Platform is a portfolio-ready Laravel application for security companies that need one system for their public website and day-to-day operations. It combines service marketing, quote acquisition, client and guard records, deployments, incident reporting, fleet tracking, staff workflows, notifications, and role-aware administration.

The application is server-rendered with Blade and enhanced with Tailwind CSS and Vite. Its seeded SQLite setup makes the complete workflow easy to evaluate locally without external infrastructure.

Key Features

Public website

  • Responsive service catalogue with category and detail pages
  • Quote request and contact enquiry workflows
  • Published security articles, testimonials, and vacancies
  • Database-managed site settings and public content

Operations administration

  • Operational dashboard with security-focused activity summaries
  • Client, location, guard, deployment, vehicle, and alert management
  • Incident intake, assignment, evidence tracking, and status workflows
  • Quote-to-client conversion for a smoother sales handoff
  • Blog, services, testimonials, careers, and site-settings CMS
  • User administration with super-admin, admin, and staff roles
  • Module-level permissions for administrative users
  • Audit trail for important administrative and staff actions
  • Soft-delete archive with restore and permanent-delete controls

Staff workspace

  • Role-aware dashboard for assigned deployments
  • Guard-linked access to relevant clients and sites
  • Deployment updates and handover notes
  • Incident reporting with optional evidence uploads
  • In-app notifications and read-state tracking

Platform capabilities

  • Laravel authentication, validation, CSRF protection, and password hashing
  • Database-backed sessions, cache, queues, and notifications
  • Eloquent relationships, JSON attributes, and soft deletion
  • SQLite by default, with Laravel-supported database drivers available through configuration
  • Automated feature and unit testing with PHPUnit

Technology Stack

Layer Technology
Backend PHP 8.3, Laravel 13
Frontend Blade, Tailwind CSS 4, Vite 8
Database SQLite (default)
Authentication Laravel session authentication with custom roles and permissions
Async and state Database queue, cache, and sessions
Testing PHPUnit 12
Code quality Laravel Pint

The current build does not depend on Livewire, Vue, React, Bootstrap, a payment gateway, or an AI service.

Requirements

  • PHP 8.3 or newer
  • Composer 2.7 or newer
  • Node.js 20 or newer with npm
  • PHP extensions required by Laravel, including PDO SQLite
  • Git

Installation

1. Clone the repository

git clone https://github.com/seunoseya44-tech/stalwart-security-operations-platform.git
cd stalwart-security-operations-platform

2. Install backend dependencies

composer install

3. Configure the environment

cp .env.example .env
php artisan key:generate

On Windows PowerShell, use Copy-Item .env.example .env instead of cp if needed.

The default configuration uses SQLite. Create the local database file before migrating:

php -r "file_exists('database/database.sqlite') || touch('database/database.sqlite');"
php artisan migrate --seed

To use MySQL or PostgreSQL, update the DB_* variables in .env before running migrations.

4. Install and build frontend assets

npm install
npm run build

5. Link public storage

php artisan storage:link

6. Run locally

php artisan serve

Open http://127.0.0.1:8000 in your browser. For the application server, queue listener, log viewer, and Vite development server in one command, run:

composer run dev

Demo Accounts

Running php artisan migrate --seed creates these local demonstration accounts:

Role Email Password
Super Admin superadmin@stalwartsecurity.ng password
Operations Admin admin@stalwartsecurity.ng password
Field Staff staff@stalwartsecurity.ng password

These credentials are for local demonstration only. Replace them before deploying to any shared or production environment.

Testing and Code Quality

composer test
vendor/bin/pint --test
npm run build

Project Structure

app/
|-- Http/Controllers/       Public, admin, authentication, and staff workflows
|-- Models/                 Security operations and CMS domain models
config/                     Application and service configuration
database/
|-- migrations/             Database schema and operational workflows
|-- seeders/                Portfolio demonstration data
resources/
|-- css/                    Tailwind CSS entry point
|-- js/                     Frontend JavaScript entry point
|-- views/                  Blade layouts and public/admin/staff screens
routes/                     Web and console routes
storage/                    Local runtime files and uploaded evidence
tests/                      Feature and unit tests

Screenshots

For the strongest portfolio presentation, add current screenshots to docs/screenshots/ and showcase:

Screen What it demonstrates
Public homepage Brand, responsive design, service discovery, and conversion paths
Admin dashboard Operational visibility and information architecture
Guard deployments Workforce assignment and site coverage workflow
Incident management Reporting, assignment, status, and evidence handling
Staff dashboard Role-aware access and field reporting

A short GIF showing a quote becoming a client record and deployment is especially effective for recruiters and clients.

Security Notes

  • .env, local SQLite databases, logs, caches, uploaded files, and dependency directories are excluded from Git.
  • Never commit production credentials or uploaded incident evidence.
  • Set APP_DEBUG=false, use unique administrator passwords, and configure HTTPS in production.
  • Run queues with a supervised worker and schedule Laravel's task runner in production.
  • Review permissions and storage visibility before deploying with real client or guard data.

Future Improvements

  • Add REST API endpoints and token authentication for mobile staff clients
  • Introduce granular policies and automated authorization coverage
  • Add deployment scheduling, attendance, and shift conflict detection
  • Generate downloadable incident, risk-assessment, and client reports
  • Integrate maps and live telemetry for fleet operations
  • Add email/SMS escalation channels and queued notification delivery
  • Add CI checks for tests, formatting, dependency audits, and frontend builds
  • Add Docker-based development and deployment profiles

License

This project is open-source software licensed under the MIT License.

Developer

Developed by seunoseya44-tech.

For project enquiries, add your preferred professional email address or LinkedIn profile here.

About

Laravel 13 security operations platform for guard deployments, incident response, fleet tracking, client management, quote conversion, staff workflows, notifications, audit logs, and CMS administration.

Topics

Resources

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages