Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
Empty file added .bots/instructions.md
Empty file.
39 changes: 39 additions & 0 deletions .github/workflows/code-review-bot.yml
Original file line number Diff line number Diff line change
@@ -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
90 changes: 90 additions & 0 deletions PLAN.md
Original file line number Diff line number Diff line change
@@ -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