Skip to content

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

14 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Vision

Multi-tenant SaaS for managing buildings, cameras and daily photo albums.

  • Backend: Laravel 12 modular monolith (laravel-vision/) with Passport OAuth, Spatie Permission (teams mode keyed on company_id), Reverb broadcasting.
  • Frontend: React 19 + TypeScript + Vite (react-vision/), built on top of MineralUI Pro — every page composes Pro components (MAppShell, MCardGrid, MTreeView, MTabs, MModal, …). MineralUI Pro is a hard dependency; the project does not ship its own design system.
  • Realtime: Laravel Reverb (WebSocket).
  • Storage: MySQL 8 + Redis 7 (cache, queues, sessions).

Quick start

docker compose up --build

First boot takes ~2 min (Composer install, migrations, Passport keys, Vite first compile). Then open http://localhost:5173 — the app routes you to /install and the wizard provisions the first company, admin and root object.

Layout

Path Purpose
laravel-vision/ Laravel 12 API. 10-folder domain contract, single-action controllers.
react-vision/ React 19 SPA. Feature-first folders, MineralUI Pro components.
docker/ Dockerfiles, supervisord config, laravel-init.sh bootstrap script.
docker-compose.yml Five-service stack: mysql, redis, laravel-vision, reverb-vision, react-vision.

Production deployment artifacts live in prod/ (gitignored) — generated by prod/build.sh for HestiaCP-based hosting (single domain, Apache+nginx hybrid, PHP-FPM 8.4, Supervisor for queue + Reverb).

Reset everything

docker compose down -v

Drops volumes and lets laravel-init.sh rebuild the database from scratch on the next up. After the reset you also need to flip APP_INSTALLED=false in laravel-vision/.env so the installer reopens.

Where to read next

About

Vision — multi-tenant camera & album management panel. React 19 + MineralUI frontend, Laravel 12 domain-driven API (Passport, Reverb, Spatie Permission teams mode), self-hosted VAPID push, Dockerized.

Topics

Resources

Stars

Watchers

Forks

Releases

Packages

Contributors

Languages