71 lines
2.0 KiB
Markdown
71 lines
2.0 KiB
Markdown
|
|
# Submit App to AppStore
|
||
|
|
|
||
|
|
**ID:** DEV-008
|
||
|
|
**Priority:** Low
|
||
|
|
**Status:** Planned
|
||
|
|
**Phase:** 4
|
||
|
|
|
||
|
|
## User Story
|
||
|
|
As a developer, I want to submit my application to the AppStore so that other organizations can discover and install my app.
|
||
|
|
|
||
|
|
## Acceptance Criteria
|
||
|
|
- [ ] Submit a new app to the AppStore
|
||
|
|
- [ ] Provide app name, description, and logo
|
||
|
|
- [ ] Add screenshots for the store listing
|
||
|
|
- [ ] Select app category and tags
|
||
|
|
- [ ] Set pricing model (free, paid, freemium)
|
||
|
|
- [ ] Configure OAuth credentials (redirect URIs, scopes)
|
||
|
|
- [ ] Submit for review
|
||
|
|
- [ ] View submission status (draft, pending_review, approved, rejected, suspended)
|
||
|
|
- [ ] Receive notification on approval/rejection
|
||
|
|
- [ ] Edit app listing after approval
|
||
|
|
- [ ] View app analytics (install count, usage)
|
||
|
|
|
||
|
|
## Technical Notes
|
||
|
|
- Submitter organization becomes `ownerOrganizationId`
|
||
|
|
- Apps start in `draft` status, move to `pending_review` on submit
|
||
|
|
- Platform admins review and approve/reject apps
|
||
|
|
- Approved apps become visible in the AppStore
|
||
|
|
- App updates may require re-approval
|
||
|
|
|
||
|
|
## Approval Workflow
|
||
|
|
|
||
|
|
```
|
||
|
|
draft → pending_review → approved → published
|
||
|
|
↘ rejected
|
||
|
|
|
||
|
|
approved ↔ suspended (admin action)
|
||
|
|
```
|
||
|
|
|
||
|
|
## Data Model
|
||
|
|
|
||
|
|
```typescript
|
||
|
|
interface IPartnerApp {
|
||
|
|
id: string;
|
||
|
|
type: 'partner';
|
||
|
|
data: {
|
||
|
|
ownerOrganizationId: string;
|
||
|
|
appStoreMetadata: {
|
||
|
|
shortDescription: string;
|
||
|
|
longDescription: string;
|
||
|
|
screenshots: string[];
|
||
|
|
category: string;
|
||
|
|
tags: string[];
|
||
|
|
pricing: { model: 'free' | 'paid' | 'freemium' };
|
||
|
|
};
|
||
|
|
approvalStatus: 'draft' | 'pending_review' | 'approved' | 'rejected' | 'suspended';
|
||
|
|
isPublished: boolean;
|
||
|
|
installCount: number;
|
||
|
|
// ... other fields
|
||
|
|
};
|
||
|
|
}
|
||
|
|
```
|
||
|
|
|
||
|
|
## UI Components
|
||
|
|
- **AppSubmissionView** (`/account/org/:orgName/apps/submit`) - Submit new partner app form
|
||
|
|
|
||
|
|
## Related Stories
|
||
|
|
- ORG-010: Browse and Install Partner Apps
|
||
|
|
- ORG-011: Create Custom OIDC Apps
|
||
|
|
- ADM-008: Review Partner App Submissions (new admin story)
|