Application Architecture
Summary
Bugfender is a multi-service observability platform for collecting, processing, storing, and viewing application logs, sessions, devices, crashes, issues, network events, and user feedback.
The core product is implemented primarily in Go, with a React/Vite dashboard frontend. The architecture separates public SDK ingestion, asynchronous processing, dashboard APIs, scheduled maintenance jobs, platform-specific symbolication services, and mediated Kibana access.
Main Modules
- SDKs and client libraries: platform SDKs and plugins that collect telemetry in customer applications and submit it to the ingestion API.
bugfender-web: dashboard backend, web routes, API routes, auth, billing, teams/apps/devices/logs/issues, integrations.bugfender-log-server: public SDK ingestion API.bugfender-log-processor: Kafka consumers for logs, issues, symbolication, and device events.bugfender-cron: singleton scheduled maintenance and task processing service.symbolication/{ios,android,web,flutter}: platform-specific symbolication services.bugfender-web/frontend: React dashboard frontend.
SDKs and Client Libraries
The workspace contains SDKs, plugins, samples, and symbol-upload tooling for multiple platforms. These are part of the product architecture because they are the primary producers of telemetry consumed by bugfender-log-server.
Identified SDK/client repositories include:
- Android:
remote-logger-android/ - iOS:
remote-logger-ios/ - JavaScript/Web:
remote-logger-js/,bugfender-web-common/ - Flutter:
BugfenderSDK-Flutter/ - React Native:
rn-bugfender/ - Capacitor:
bugfender-capacitor/ - Cordova:
cordova-plugin-bugfender/ - Unity:
BugfenderSDK-Unity/ - .NET MAUI:
bugfender-maui/ - Go:
bugfender-sdk-go/
Sample applications exist for Angular, React, Vue, JavaScript, Flutter, and other platforms.
Core Storage
- MariaDB: primary relational database.
- Elasticsearch: searchable logs, issues, network data, audit/search analytics.
- Redis: cache, rate limiting, quota state, coordination.
- Kafka: ingestion-to-processing queue.
- S3-compatible storage: symbols, geolocation artifacts, exports, and backups.
Deployment Models
Repository evidence indicates that Bugfender is operated as a hosted SaaS platform and also has deployment material for dedicated or customer-controlled environments. The hosted deployment model is represented by Kubernetes/Helm assets and environment values. Dedicated/on-premises-style deployment support is represented by Docker Compose/on-premises assets and DR/infrastructure automation.
The exact current production split between shared SaaS, dedicated customer environments, and on-premises deployments requires manual business/operations confirmation.
Deployment Context
The repository includes Kubernetes/Helm deployment assets, Docker Compose/on-premises deployment assets, and a dedicated DR/infrastructure automation repository using Ansible, Terraform, Kubernetes manifests