Call Now

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

116K
crons
28K
sms_messages
27K
comments
19K
events
19K
projects
19K
services

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.