feat(apps): Add Apps subsystem: App and AppConnection models, managers, typed request handlers, web UI routes and documentation
This commit is contained in:
@@ -0,0 +1,63 @@
|
||||
# Browse and Install Partner Apps
|
||||
|
||||
**ID:** ORG-010
|
||||
**Priority:** Medium
|
||||
**Status:** Planned
|
||||
**Phase:** 3
|
||||
|
||||
## User Story
|
||||
As an organization owner, I want to browse and install partner apps from the AppStore so that my organization can benefit from third-party integrations.
|
||||
|
||||
## Acceptance Criteria
|
||||
- [ ] Browse available partner apps in the AppStore
|
||||
- [ ] Search apps by name or description
|
||||
- [ ] Filter apps by category
|
||||
- [ ] View curated sections (Featured, Popular, New)
|
||||
- [ ] View app details (description, screenshots, pricing)
|
||||
- [ ] See app install count and ratings
|
||||
- [ ] Install/connect a partner app to the organization
|
||||
- [ ] Uninstall/disconnect a partner app
|
||||
- [ ] View installed apps list
|
||||
|
||||
## Technical Notes
|
||||
- Partner apps are submitted by other organizations (DEV-008)
|
||||
- Apps must be approved by platform admins before appearing in store
|
||||
- Uses `IPartnerApp` with `appStoreMetadata`
|
||||
- Connection uses same `IAppConnection` as global apps
|
||||
|
||||
## Data Model
|
||||
|
||||
```typescript
|
||||
interface IPartnerApp {
|
||||
id: string;
|
||||
type: 'partner';
|
||||
data: {
|
||||
name: string;
|
||||
description: string;
|
||||
logoUrl: string;
|
||||
appUrl: string;
|
||||
ownerOrganizationId: string;
|
||||
oauthCredentials: IOAuthCredentials;
|
||||
appStoreMetadata: {
|
||||
shortDescription: string;
|
||||
longDescription: string;
|
||||
screenshots: string[];
|
||||
category: string;
|
||||
tags: string[];
|
||||
pricing: { model: 'free' | 'paid' | 'freemium' };
|
||||
};
|
||||
approvalStatus: TAppApprovalStatus;
|
||||
isPublished: boolean;
|
||||
installCount: number;
|
||||
};
|
||||
}
|
||||
```
|
||||
|
||||
## UI Components
|
||||
- **AppsView** - App Store tab with search and categories
|
||||
- **AppStoreDetailView** (`/account/org/:orgName/apps/store/:appId`) - Full app details page
|
||||
|
||||
## Related Stories
|
||||
- ORG-009: Connect Global Apps
|
||||
- ORG-011: Create Custom OIDC Apps
|
||||
- DEV-008: Submit App to AppStore
|
||||
Reference in New Issue
Block a user