How panelica/pnlcs works
PNLCS is a self-hosted hosting billing platform and customer portal. Customers browse products, place orders, pay invoices, and manage resulting services; hosting actions, domains, SSL, and support are also available through the portal, while staff administer operations. The architecture separates web/API entry points, lifecycle and billing services, provider modules, and persisted business records. The README documents the broad capabilities and integrations; sampled excerpts confirm gateway webhook handling, module-backed hosting actions, and theme management, but do not expose every workflow’s call graph.
Main entry points: Client Client Portal · Models Business Records · Admin Admin Panel · PaymentService.php Payments
Components 22
Portal and API
- Client Portal
app/Http/Controllers/Client - Admin Panel
app/Http/Controllers/Admin - API
app/Http/Controllers/Api
Commerce and Billing
- Cart
app/Services/CartService.php - Orders
app/Services/OrderService.php - Invoicing
app/Services/InvoiceGenerationService.php - Payments
app/Services/PaymentService.php - Gateway Webhooks
app/Http/Controllers/GatewayWebhookController.php
Service Operations
- Provisioning
app/Services/ProvisioningService.php - Hosting Controls
app/Http/Controllers/Client/ServiceController.php - Domain Services
app/Services/DomainService.php - SSL Provisioning
app/Services/SslProvisioningService.php - Support Tickets
app/Services/TicketService.php - Knowledge Base
app/Models/KbArticle.php
Provider Modules
- Payment Gateways
modules/Gateways - Server Modules
modules/Servers - Registrars
modules/Registrars - SSL Providers
modules/Ssl
Business Records
- Business Records
app/Models
Other components
- Customer
- Staff
- Provider Services
Connections 28
- Customer → Client Portal: uses
- Staff → Admin Panel: administers
- Customer → API: integrates
- Client Portal → Cart: manages cart
- Client Portal → Orders: places orders
- Orders → Invoicing: generates invoices
- Client Portal → Payments: pays invoices
- Gateway Webhooks → Payment Gateways: dispatches to
- Gateway Webhooks → Payments: records payment
- Payments → Payment Gateways: uses gateway
- Orders → Provisioning: provisions service
- Hosting Controls → Server Modules: calls module
- Domain Services → Registrars: uses registrar
- SSL Provisioning → SSL Providers: uses provider
- Payment Gateways → Provider Services: transacts with
- Server Modules → Provider Services: provisions on
- Registrars → Provider Services: registers with
- SSL Providers → Provider Services: issues through
- Admin Panel → Domain Services: administers
- Admin Panel → Support Tickets: manages tickets
- Client Portal → Support Tickets: opens tickets
- Client Portal → Knowledge Base: reads articles
- Client Portal → Business Records: reads and writes
- Admin Panel → Business Records: reads and writes
- API → Business Records: reads and writes
- Invoicing → Business Records: stores billing data
- Payments → Business Records: stores transactions
- Provisioning → Business Records: updates services