Codebase Documentation
Comprehensive technical documentation for OpplagManager 2025
OpplagManager 2025 - Comprehensive Codebase Documentation
Project Overview
OpplagManager 2025 is a comprehensive boat and caravan storage management system built with Laravel 8.12.
Tech Stack
- • Backend: Laravel 8.12 (PHP)
- • Frontend: Vue 2, Tailwind CSS
- • Database: MySQL/MariaDB
- • Payment: Klarna, Vipps
Key Statistics
- • 194 Eloquent Models
- • 367+ Database Migrations
- • 54 Admin Controllers
- • 805+ TripleTex Files
Architecture
Directory Structure
app/
├── Api/ # API Controllers
├── Channels/ # Broadcasting channels
├── Console/ # Artisan commands (25)
├── Events/ # Event definitions (5)
├── Http/ # HTTP layer (146 controllers)
├── Models/ # Eloquent models (194)
├── Services/ # Business logic (27)
└── TripletexNew/ # TripleTex integration (805+)
Design Patterns
- • Repository Pattern
- • Service Layer
- • Observer Pattern
Key Components
- • Event-Driven Architecture
- • Resource Pattern
- • Middleware Stack
Core Business Models
Project
Central storage contract entity
→ Client, Vessel, Harbour, Services
Client
Customer information
→ Projects, Vessels, Invoices
Vessel
Boat/caravan data
→ Projects, Owners, Model
Service
Service catalog
→ Projects, Materials
Order
Financial orders
→ Project, Client, Invoice
Invoice
Billing documents
→ Order, Client, Payment
Harbour
Storage facilities
→ Projects, Classes
TechnicalCheck
Inspection records
→ Project, Services, Images
Event
Check-in/check-out
→ Project, Harbour, User
Key Functionalities
1. Project Management
Complete lifecycle management of storage contracts
Request → Quote → Confirm → Check-in → Inspection → Services → Check-out → Invoice → Payment
2. Vessel Management
Track boat/caravan information and ownership
Registration, Owner tracking, Model classification, Size tracking
3. Service Management
Catalog and manage service offerings
Standard catalog, Custom services, Pricing, Materials, Packages, Labor estimation
4. Work Orders & Maintenance
Manage maintenance and repair work
Create → Assign → Track → Materials → Labor → Complete
5. Storage Facility Management
Manage physical storage locations
Location mapping, Visual schemes, Capacity tracking, Zone management
6. Billing & Invoicing
Financial management and billing
Complete → Order → Invoice → Send → Payment → Accounting sync
7. Technical Inspections
Document vessel condition on check-in/out
Pre/post inspection, Damage docs, Recommendations, Photos, Reports
8. Reservation Management
Manage future bookings
Arrival/departure, Seasonal booking, Owner/vessel changes
9. Multi-Tenancy
Support multiple organizations/projects
Data isolation, Project switching, Role-based access, Client dashboard
10. Employee Management
HR and workforce management
Users, Roles, Teams, Leave, Payroll, Time tracking, Attendance
API Endpoints
Corporate Routes
- •
/- Home - •
/about- About - •
/services- Services - •
/demo- Demo form - •
/contact- Contact - •
/faq- FAQ - •
/support- Support - •
/documentation- Docs
Admin Routes (/admin)
- • /projects, /clients, /vessels
- • /services, /orders, /storage
- • /reservations, /technical-checks
- • /users, /teams, /payroll
- • /leaves, /conta/*, /support
Third-Party Integrations
Conta
Norwegian accounting system
Export customers, services, orders, invoices
TripleTex
Accounting/payroll (805+ files)
Comprehensive integration
Klarna
Online payments
Initiate, capture, status, refunds
Vipps
Norwegian mobile payments
Mobile payment, callbacks
Pling SMS
SMS notifications
Send, track, bulk SMS
Twilio
VoIP & messaging
Click-to-dial integration
Database Schema
Database Info
- • Engine: MySQL/MariaDB
- • Charset: utf8mb4 (mostly)
- • Migrations: 367+ files
Critical Issues
- ⚠️ services table uses MyISAM
- ⚠️ Mixed charset (latin1_swedish_ci)
- ⚠️ Missing FK constraints
- ⚠️ emails table self-reference bug
Table Sizes
Authentication & Authorization
Authentication
- • Laravel Auth framework
- • Email/password login
- • Phone verification
- • Email verification
- • User impersonation
- • Password reset
Authorization
- • Admin: Full access
- • Worker: Assigned projects
- • Client: Own projects
- • Project switching
- • Role-based access
Frontend Architecture
Tech Stack
- • Vue 2
- • Tailwind CSS
- • Laravel Mix
- • Laravel Echo
Pages
- • Home, About, Services
- • Demo, Contact, FAQ
- • Support, Docs
- • Blog
Design System
- • Glass morphism
- • .glass-card
- • .glass-premium
- • depth-* levels
Configuration
Environment Variables
- • APP_*, DB_*
- • MAIL_*
- • CONTA_*
- • KLARNA_*, VIPPS_*
- • TWILIO_*
Config Files
- • config/app.php
- • config/auth.php
- • config/database.php
- • config/conta.php
- • config/vipps.php
Need More Help?
For additional support, visit our support page or contact us.