# 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)