Ads Platform — Multi-Platform Ad Management System

Ads Platform — Multi-Platform Ad Management System

Manage ad delivery and cross-platform reporting in one place, with alerting, automated bidding, and multi-client access

Version comparison

Copyright (c) 2026 erik erik@erik.xyz — https://erik.xyz

Version License How to get it
Lite Open source (MIT) Public GitHub repository
Standard Commercial license Contact erik@erik.xyz
Full Commercial license Contact erik@erik.xyz

Download

Feature comparison

Basic features

Feature Lite Standard Full
Auth (login / token refresh / current user) ✅ ✅ ✅
Platform management (29 platform list + OAuth) ✅ ✅ ✅
Account management (CRUD + sync) ✅ ✅ ✅
Ad campaigns (CRUD + enable/disable + batch) ✅ ✅ ✅
Reports (dashboard + custom + export CSV/Excel/PDF) ✅ ✅ ✅
Health check + API docs + captcha ✅ ✅ ✅
Data sync (Campaign + Report) ✅ ✅ ✅

Delivery management

Feature Lite Standard Full
Ad groups (CRUD + enable/disable) — ✅ ✅
Ad creatives (list + detail) — ✅ ✅
Ad group / creative data sync — ✅ ✅

Monitoring and notifications

Feature Lite Standard Full
Alert rule engine (7 metrics / 4 conditions / 3 scopes) — ✅ ✅
Alert records + acknowledge + unread count — ✅ ✅
Notification center (list / read / mark all read) — ✅ ✅

Advanced features

Feature Lite Standard Full
Automated bidding rule engine (3 actions / cooldown) — — ✅
Audience targeting templates (generic JSON Schema) — — ✅
Ad asset library (upload / gallery / preview) — — ✅
Budget alerts (three-stage alerts at 50/80/100%) — — ✅
Delivery calendar (Gantt visualization) — — ✅
Cross-platform attribution (5 models / 30-day lookback) — — ✅

Security comparison

Protection Lite Standard Full
CORS whitelist ✅ ✅ ✅
Security response headers (X-Frame/CSP/HSTS/nosniff) ✅ ✅ ✅
Versioned routing (X-API-Version) ✅ ✅ ✅
API rate limiting (sliding window) ✅ ✅ ✅
SQL injection detection (pattern matching) ✅ ✅ ✅
Input filtering (strip_tags + trim) ✅ ✅ ✅
Transport encryption/decryption (X-Encrypted) ✅ ✅ ✅
JWT Bearer auth ✅ ✅ ✅
XSS attack detection (11 patterns) — ✅ ✅
Path traversal detection (7 patterns) — ✅ ✅
Header injection detection — ✅ ✅
Body size limit (10 MiB) — ✅ ✅
Content-Type whitelist — ✅ ✅
Client platform identification (8 clients) — ✅ ✅
Login throttling (5 attempts → 15 minutes) — ✅ ✅
Response time monitoring (X-Response-Time) — ✅ ✅
Origin/Referer validation — — ✅
Replay attack protection (Nonce + Timestamp) — — ✅
Concurrent session limit (max 3) — — ✅
CSRF token (Admin side) — — ✅
SSRF protection (OAuth whitelist) — — ✅
Log data masking — — ✅
JWT IP/UA binding — — ✅

Middleware chain comparison

Service side

Lite (7 layers) Standard (11 layers) Full (15 layers)
CorsMiddleware CorsMiddleware CorsMiddleware
— — OriginGuardMiddleware
SecurityHeadersMiddleware SecurityHeadersMiddleware SecurityHeadersMiddleware
— AttackGuardMiddleware AttackGuardMiddleware
— ClientPlatformMiddleware ClientPlatformMiddleware
— — ReplayGuardMiddleware
VersionMiddleware VersionMiddleware VersionMiddleware
RateLimitMiddleware RateLimitMiddleware RateLimitMiddleware
— LoginThrottleMiddleware LoginThrottleMiddleware
— — SessionLimitMiddleware
SqlGuardMiddleware SqlGuardMiddleware SqlGuardMiddleware
ValidationMiddleware ValidationMiddleware ValidationMiddleware
— ResponseTimeMiddleware ResponseTimeMiddleware
EncryptionMiddleware EncryptionMiddleware EncryptionMiddleware

Admin side

Lite (1 layer) Standard (4 layers) Full (5 layers)
— AttackGuardMiddleware AttackGuardMiddleware
— LoginThrottleMiddleware LoginThrottleMiddleware
— ClientPlatformMiddleware ClientPlatformMiddleware
— — CsrfMiddleware
VersionMiddleware VersionMiddleware VersionMiddleware

Scheduled tasks comparison

Task Frequency Lite Standard Full
TokenRefreshTask 55min ✅ ✅ ✅
DataSyncTask 10min ✅ (Campaign+Report only) ✅ (+AdGroup+Creative) ✅ (+AdGroup+Creative)
RetrySyncTask 3min ✅ ✅ ✅
AlertCheckTask 5min — ✅ ✅
BidCheckTask 10min — — ✅
BudgetCheckTask 15min — — ✅

Database tables comparison

Category Table name Lite Standard Full
Base erik_tenants ✅ ✅ ✅
Account erik_platform_accounts ✅ ✅ ✅
erik_auth_tokens ✅ ✅ ✅
Delivery erik_campaigns ✅ ✅ ✅
erik_report_metrics ✅ ✅ ✅
erik_report_extras ✅ ✅ ✅
erik_ad_groups — ✅ ✅
erik_creatives — ✅ ✅
Alerting erik_alert_rules — ✅ ✅
erik_alert_logs — ✅ ✅
Notification erik_notifications — ✅ ✅
Bidding erik_bid_rules — — ✅
erik_bid_logs — — ✅
Targeting erik_targeting_templates — — ✅
Assets erik_assets — — ✅
Attribution erik_conversions — — ✅
erik_attribution_results — — ✅
System erik_sync_errors ✅ ✅ ✅
Admin admin_users/roles/audit_logs ✅ ✅ ✅
Total 8 13 18

Frontend pages comparison

Vue Admin SPA

Page Lite Standard Full
Login ✅ ✅ ✅
Dashboard ✅ ✅ ✅
Account list + binding ✅ ✅ ✅
Ad campaigns ✅ ✅ ✅
Report export ✅ ✅ ✅
User management ✅ ✅ ✅
Audit logs ✅ ✅ ✅
Ad groups — ✅ ✅
Ad creatives — ✅ ✅
Report analytics (ECharts) — ✅ ✅
Alert rules — ✅ ✅
Alert records — ✅ ✅
Notification center — ✅ ✅
Automated bidding — — ✅
Asset library — — ✅
Delivery calendar — — ✅
Attribution analysis — — ✅
Total 7 13 17

Flutter

Page Lite Standard Full
Login ✅ ✅ ✅
Dashboard ✅ ✅ ✅
Ad campaigns (list + detail) ✅ ✅ ✅
Data reports ✅ ✅ ✅
Platform accounts ✅ ✅ ✅
Alert management ✅ ✅ ✅
Ad groups — ✅ ✅
Ad creatives — ✅ ✅
Report analytics — ✅ ✅
Notification center — ✅ ✅
Automated bidding — — ✅
Total 6 10 11

API endpoints comparison

Module Lite Standard Full
System (health/ping/docs/captcha) 6 6 6
Auth (login/me/refresh) 3 3 3
Platform (list/oauthUrl/callback) 3 3 3
Account (index/show/destroy/sync) 4 4 4
Ad campaigns (CRUD/toggle/batch) 6 6 6
Ad groups (CRUD/toggle) — 5 5
Creatives (index/show) — 2 2
Reports (summary/custom/export×2) 4 4 4
Reports (calendar/budget/attribution/models) — — 4
Alerts (rules CRUD + logs + acknowledge + unread) — 7 7
Notifications (index/unread/read/readAll) — 4 4
Automated bidding (CRUD + logs) — — 5
Targeting templates (CRUD) — — 5
Asset library (index/upload/show/destroy) — — 4
Total 26 44 62

Tech stack

All three tiers share the same tech stack:

Layer Technology
Backend framework webman v2, PHP 8.2+
Database MySQL 8.0 (InnoDB, utf8mb4)
Cache Redis 7
ORM Illuminate Database (Laravel Eloquent)
Auth erikwang2013/jwt-webman
ID generation erikwang2013/snowflake-php
ID encoding erikwang2013/hashids
Frontend Vue 3 + TypeScript + Element Plus + ECharts + Pinia
Flutter Dart 3 + Riverpod + GoRouter + fl_chart
Deployment Docker + Nginx + Docker Compose

Upgrade path

1
2
3
4
5
6
7
8
9
10
11
Lite (open source)
│
├─→ Upgrade to Standard (contact erik@erik.xyz)
│ │
│ └─→ Adds: ad group/creative management, alert engine, notification center,
│ AttackGuard/XSS/path traversal/login throttling/response time monitoring
│
└─→ Upgrade to Full (contact erik@erik.xyz)
│
└─→ Adds: everything in Standard + automated bidding, targeting templates, asset library,
budget alerts, delivery calendar, cross-platform attribution, replay protection/concurrency limits/CSRF/SSRF