00 — Project Overview

Project name: crmoffice Working directory: D:\project laravel\crmoffice\ Phase: 6 — Marketing landing (Phase 1–5 backbone done) Last updated: 2026-05-30


1. Vision

crmoffice adalah self-hostable, multi-tenant-capable Business CRM untuk agency, freelancer, dan SMB yang menggantikan Perfex CRM dengan:

  • UX modern (Filament 5 admin + Inertia/Vue 3 portal) — bukan jQuery-era PHP.
  • Modular yang bersih — setiap modul bisa di-disable per tenant.
  • No vendor lock-in untuk integrasi — semua provider (payment, mail, SMS, storage, LLM) bersifat dinamis, owner input sendiri di admin UI.
  • SEO-ready out of the box — 140+ programmatic SEO routes untuk acquisition.
  • API-first — siap untuk Flutter companion app di Phase 2.
  • Marketing landing premium dengan real screenshot + 3-tier pricing — bukan default welcome.blade.php.

Stack actual: Laravel 13.7 + Filament 5 + Tailwind 4 + Vue 3 + Inertia 2 + Sanctum + Spatie Permission. Upgraded dari rencana awal (Laravel 11 + Filament 3) — beberapa bagian docs lama mungkin masih menyebut versi lama, tapi codebase di atas Laravel 13.7.

2. Target Users

Persona Pain Points yang dibantu
Agency Owner (digital, kreatif, konsultan) Kelola client, project, billing, support — saat ini scattered di Trello + Notion + Excel + WhatsApp
Freelancer / Solopreneur Butuh invoice profesional, kontrak, proposal, time tracking — saat ini pakai banyak tools
SMB (5–50 karyawan) Butuh CRM + project management + helpdesk dalam satu suite, on-premise atau private cloud
IT Services / MSP Ticketing system + asset/client tracking + recurring billing

3. Differentiator vs Perfex

Dimension Perfex CRM crmoffice
Stack CodeIgniter 3 + jQuery Laravel 11 + Vue 3 + Filament 3
Admin UX Custom jQuery tables, slow Filament 3 (modern, fast, accessible)
Customer portal Bootstrap 4 + jQuery Inertia + Vue 3 + Tailwind
Payment integrations Hardcoded per gateway (Stripe class, Paypal class, Midtrans class, …) Format-based dynamic adapters — user input credentials di admin
Provider lock-in Hardcoded mail/SMS/storage in code Fully dynamic — user pilih dan input
pSEO / Marketing None — only license-protected dashboard Public pSEO site bundled (Best CRM for X, Alternatives to Y, Compare A vs B)
API Limited REST endpoints Sanctum-based REST, designed for Flutter
AI features None AI proposal/email drafting (BYO LLM key)
Multi-tenancy Single-tenant only Optional multi-tenant (stancl/tenancy) — opt-in per install
License Paid CodeCanyon + obfuscated TBD — own codebase, no obfuscation

4. High-Level Module Map

┌─────────────────────────────────────────────────────────────┐
│                        crmoffice                            │
├─────────────────────────────────────────────────────────────┤
│  CORE CRM           SALES              PROJECTS    SUPPORT  │
│  ─────────────      ─────────────      ──────────  ─────── │
│  • Clients          • Estimates        • Projects  • Tickets│
│  • Contacts         • Proposals        • Tasks     • KB     │
│  • Leads (kanban)   • Contracts        • Time      • Email  │
│  • Custom fields    • Invoices         • Gantt       piping │
│  • Activities       • Credit notes     • Files              │
│  • Notes            • Payments         • Discuss.           │
│  • Web-to-lead      • Items catalog    • Milestone          │
│                     • Recurring                             │
│                     • Tax/Currency                          │
├─────────────────────────────────────────────────────────────┤
│  CROSS-CUTTING                                              │
│  ─────────────                                              │
│  Calendar · Reminders · Reports · Goals · Surveys ·         │
│  Announcements · Newsletter · Audit log · Notifications     │
├─────────────────────────────────────────────────────────────┤
│  PLATFORM                                                   │
│  ─────────────                                              │
│  Auth (Sanctum) · RBAC (Spatie) · Files (MediaLibrary) ·    │
│  Search (Meilisearch) · Queue (Horizon) · Cache (Redis) ·   │
│  i18n · Custom Fields engine · Dynamic Providers · Webhooks │
├─────────────────────────────────────────────────────────────┤
│  PUBLIC SURFACE                                             │
│  ─────────────                                              │
│  Marketing site · pSEO routes · Public KB · Web-to-lead     │
│  forms · Public proposal/estimate/invoice links · Sitemap   │
└─────────────────────────────────────────────────────────────┘

5. Tech Stack (One-Liner)

Laravel 11 + MySQL 8 + Filament 3 (admin) + Inertia/Vue 3 + Tailwind (portal & marketing) + Redis + Horizon (queue/cache) + Meilisearch (search) + Sanctum (API auth) + Spatie Permission + MediaLibrary + dompdf/Browsershot (PDF). Flutter mobile app deferred to Phase 2.

Full rationale → 11-TECH-STACK.md

6. Documentation Index

# Document Purpose
00 OVERVIEW This file
01 PRD Product requirements, personas, user stories
02 ERD Entity Relationship Diagram
03 ARCHITECTURE System design, layers, request lifecycle
04 DATABASE-SCHEMA Full DDL specification
05 MODULES Per-module feature spec & flows
06 API-DESIGN REST contracts for Flutter (Phase 2)
07 ROLES-PERMISSIONS RBAC matrix
08 INTEGRATIONS Dynamic provider adapter spec
09 PSEO Programmatic SEO strategy
10 ROADMAP Phased build plan
11 TECH-STACK Stack decisions & rationale

7. Success Criteria for MVP (Phase 1–5)

  • ✅ Admin bisa create client, lead, project, task, invoice, ticket — end-to-end functional
  • ✅ Customer portal: client login → lihat invoice, project status, submit ticket
  • ✅ Public marketing site live dengan minimal 30 pSEO pages indexed
  • ✅ Payment integration via minimal 1 generic adapter (redirect-flow) — Midtrans/Stripe/Xendit compatible tanpa code change
  • ✅ Email pipe untuk ticket reply working
  • ✅ All entities support custom fields
  • ✅ Reports dashboard: revenue, leads conversion, project profitability, ticket SLA
  • ✅ Production deploy-ready (Forge / Ploi compatible)

8. Out of Scope for MVP

  • Flutter mobile app (Phase 2 setelah MVP stable)
  • Multi-tenancy (stancl/tenancy) — opt-in module, Phase 3
  • AI features (proposal drafting, email summarize) — Phase 3
  • E-sign integration (DocuSign-like) — Phase 3
  • Advanced workflow automation (Zapier-like trigger/action) — Phase 4
  • White-label theming per tenant — Phase 4
  • Marketplace integrations (Slack, Zoom, Google Workspace deep sync) — Phase 4