Overview
The Plugn codebase consists of several repositories that form a modular system with clear separation between frontend and backend components. The system is unified by naming conventions (plugn-*), shared environment variables, and integrations with common services such as AWS S3 and Slack. The main backend logic resides in the plugn repository, while frontends are implemented using frameworks like Ionic and Vue. Some repositories serve auxiliary roles or may be deprecated.
Repos Table
| Repository | Role | Stack/Framework | Part of System | Source of Truth | Notable Connections/References |
|---|---|---|---|---|---|
| plugn | Backend | PHP (Yii2) | Yes | Yes | Integrates with Slack, AWS S3, payment APIs |
| plugn-microservices | Backend | Microservices | Yes | Possible | Not enough data for detailed connections |
| plugn-store | Frontend | Vue/Ionic | Yes | No | Not enough data for detailed connections |
| plugn-store-community | Frontend | Vue/Ionic | Yes | No | Not enough data for detailed connections |
| plugn-ionic | Frontend | Ionic | Yes | No | Not enough data for detailed connections |
| plugn-dashboard-ionic | Frontend | Ionic/Angular | Yes | No | Uses StoreService, PaymentMethodService |
| plugn-store-sdk | Auxiliary | SDK/Integration | Yes | No | Not enough data for detailed connections |
| plugn-device | Auxiliary | Java/Android plugin | Yes | No | No direct system references found |
Notes on Connections
The plugn repository is the central backend, containing core business logic, environment variables, and integrations with external services such as Slack, AWS S3, and payment gateways. Its configuration references shared resources, for example, the S3 bucket plugn-public-anyone-can-upload-24hr-expiry and Slack webhooks with usernames like "Plugn" and references to "plugn-activity" channels, indicating system-wide integrations and monitoring. The backend exposes APIs and manages environment variables that are likely consumed by frontend repositories and auxiliary services. Source
The plugn-dashboard-ionic repository is a frontend built with Ionic and Angular. It interacts with backend APIs via services such as StoreService and PaymentMethodService. For example, the StripePage component loads and saves Stripe payment configuration by calling these services, which likely map to backend endpoints managed by the plugn repository. Source
There is a clear separation between frontend and backend repositories, with plugn and plugn-microservices providing backend logic, and plugn-store, plugn-store-community, plugn-ionic, and plugn-dashboard-ionic serving as frontends. Auxiliary repositories like plugn-store-sdk and plugn-device provide SDKs or device integrations but do not appear to be central to the business logic.
Suspected Irrelevant Repos
Some repositories, such as plugn-store-sdk and plugn-device, may be auxiliary or deprecated, as they do not show strong references to the main system or are not directly involved in business logic or core frontend/backend interactions. There is insufficient evidence of recent activity or cross-references for these repositories.
No explicit URLs, API routes, or package names in the code were found that directly point to another plugn-* repository, except for shared resource names (e.g., S3 buckets, Slack channels) and service usage patterns in frontend code that imply backend API consumption.
If more detail is needed on specific repositories or cross-references, further codebase analysis or commit history review is recommended.