diff --git a/.bots/instructions.md b/.bots/instructions.md new file mode 100644 index 0000000..e69de29 diff --git a/.github/workflows/code-review-bot.yml b/.github/workflows/code-review-bot.yml new file mode 100644 index 0000000..2f103a9 --- /dev/null +++ b/.github/workflows/code-review-bot.yml @@ -0,0 +1,39 @@ +name: Code Review Bot + +on: + pull_request: + types: [opened, reopened, synchronize] + +jobs: + run_code_review_bot: + runs-on: ubuntu-latest + + container: + image: ghcr.io/mrs-electronics-inc/bots/code-review:0.12.0-rc27 + volumes: + - ${{ github.workspace }}:/repo + + defaults: + run: + working-directory: /repo + + permissions: + pull-requests: write + + steps: + - name: Checkout code + uses: actions/checkout@v4 + + - name: Run Code Review Bot + env: + OPENROUTER_KEY: ${{ secrets.API_KEY_CODE_REVIEW_BOT }} + GH_TOKEN: ${{ secrets.GITHUB_TOKEN }} + PULL_REQUEST_NUMBER: ${{ github.event.pull_request.number }} + run: github_code_review.sh + + - name: Upload artifact including hidden files + uses: actions/upload-artifact@v4 + with: + name: bots-directory + path: .bots/ + include-hidden-files: true diff --git a/PLAN.md b/PLAN.md new file mode 100644 index 0000000..1ad26b6 --- /dev/null +++ b/PLAN.md @@ -0,0 +1,90 @@ +# PLAN.md - OGBBC Conference Line Replacement MVP + +## Project Overview + +**Objective**: Replace the Midwest Conference Line with a cost-effective, reliable worship service streaming system for Old German Baptist Brethren Church, New Conference (OGBBC) congregations. + +**MVP Scope**: Single congregation implementation with host-controlled broadcasting and listener call-in functionality. + +## Requirements Analysis + +### Functional Requirements +- Host authentication via PIN +- Host-controlled conference initiation +- Muting of listeners enforced +- Live audio broadcasting from host to listeners +- Automatic recording of services +- Conference state management +- Basic administrative dashboard + +### Technical Requirements +- Phone line input (landline/cellular) +- Scalable to multiple concurrent listeners +- Recording storage and retrieval (local initially, cloud in Phase 2) +- Simple administration interface +- Cost-effective operation +- Secure PIN handling and data encryption + +## Architecture + +### Technology Stack +- **Backend**: [Node.js](https://nodejs.org) with [Express](https://expressjs.com) +- **Telephony**: [SignalWire](https://signalwire.com) REST API & [LaML](https://docs.signalwire.com/topics/laml/) +- **Frontend**: [Svelte](https://svelte.dev) with [@immich/ui](https://ui.immich.app) +- **Storage**: Local storage (database in future phases) +- **Hosting**: VPS ([DigitalOcean](https://digitalocean.com)) + +### Key Components +1. **Call Handler** - Processes incoming calls and routing +2. **Authentication System** - PIN-based host verification +3. **Conference Manager** - LaML-based conference control +4. **Status Tracker** - Real-time conference state management +5. **Admin Dashboard** - Web-based monitoring interface + +## Implementation Phases + +### Phase 1: MVP Development +**Goal**: Working single-congregation conference line + +#### Step 1: Core Infrastructure +- [ ] Set up SignalWire account and phone number +- [ ] Create basic Express server structure +- [ ] Implement call routing logic +- [ ] Build host authentication system +- [ ] Test basic call flow + +#### Step 2: Conference Management +- [ ] Implement conference creation/management +- [ ] Add participant tracking +- [ ] Build recording functionality +- [ ] Create conference state management +- [ ] Test multi-participant scenarios + +#### Step 3: Admin Interface & Testing +- [ ] Build basic admin dashboard +- [ ] Add real-time status updates +- [ ] Unit and integration testing +- [ ] Comprehensive testing with church members +- [ ] Documentation and user guides +- [ ] Production deployment + +### Phase 2: Production Hardening +**Goal**: Reliable production system + +- [ ] Error handling and logging +- [ ] Environment configuration +- [ ] Migrate recordings to cloud storage +- [ ] Backup/failover procedures +- [ ] Performance monitoring +- [ ] Security hardening +- [ ] Cost analysis and monitoring + +### Phase 3: Multi-congregation Expansion +**Goal**: Support multiple OGBBC congregations + +- [ ] Multi-tenant architecture +- [ ] congregation-specific configuration +- [ ] Centralized administration +- [ ] Recording organization by congregation +- [ ] Bulk testing across congregations +