Update documentation with new features and requirements

This commit is contained in:
2026-01-05 21:39:22 +01:00
parent c84492cd7e
commit 9ccb3495d3
2 changed files with 30 additions and 10 deletions

View File

@@ -24,6 +24,8 @@ OpenChat Overlay is a lightweight, open-source Twitch chat overlay solution desi
TWITCH_CLIENT_ID=... TWITCH_CLIENT_ID=...
TWITCH_CLIENT_SECRET=... TWITCH_CLIENT_SECRET=...
``` ```
> **Note:** `TWITCH_CLIENT_ID` and `TWITCH_CLIENT_SECRET` are required for both User Authentication (NextAuth) and the Support Module (Stream Status).
4. Run the development server: 4. Run the development server:
```bash ```bash
npm run dev npm run dev
@@ -33,6 +35,15 @@ OpenChat Overlay is a lightweight, open-source Twitch chat overlay solution desi
- The application uses **Next.js App Router**. - The application uses **Next.js App Router**.
- **Dashboard:** Located in `src/app/(dashboard)`. Protected by authentication. - **Dashboard:** Located in `src/app/(dashboard)`. Protected by authentication.
- **Overlay:** Located in `src/app/overlay/[token]`. Publicly accessible but requires a valid token. Renders with a transparent background. - **Overlay:** Located in `src/app/overlay/[token]`. Publicly accessible but requires a valid token. Renders with a transparent background.
- **API:**
- `/api/auth/*`: Handles user login via Twitch.
- `/api/twitch/status`: Public endpoint to check if the developer (`ramforth`) is live, used by the dashboard support module.
## Features
- **Style Creator:** Customise font, size, colors, opacity, and toggle badges/emotes.
- **Resolution Support:** Toggle between 720p and 1080p base resolutions.
- **Live Preview:** Real-time visual feedback of chat settings.
- **Support Module:** Sidebar widget showing developer status and social links.
## Deployment ## Deployment
@@ -46,4 +57,3 @@ OpenChat Overlay is a lightweight, open-source Twitch chat overlay solution desi
1. Push changes from local development machine to Gitea. 1. Push changes from local development machine to Gitea.
2. Pull changes on the production LXC/VM. 2. Pull changes on the production LXC/VM.
3. Build and run using Docker or as a systemd service. 3. Build and run using Docker or as a systemd service.

24
PLAN.md
View File

@@ -11,7 +11,7 @@ To build "OpenChat Overlay"—a free, open-source alternative to StreamElements,
## Architecture ## Architecture
### Next.js Folder Structure (Proposed) ### Next.js Folder Structure
``` ```
src/ src/
├── app/ ├── app/
@@ -25,8 +25,10 @@ src/
│ ├── api/ # API Routes │ ├── api/ # API Routes
│ │ ├── auth/ # NextAuth handlers │ │ ├── auth/ # NextAuth handlers
│ │ │ └── [...nextauth]/route.ts │ │ │ └── [...nextauth]/route.ts
│ │ ── overlay/ # Overlay configuration endpoints │ │ ── overlay/ # Overlay configuration endpoints
│ │ └── [token]/route.ts │ │ └── [token]/route.ts
│ │ └── twitch/ # Twitch API proxy
│ │ └── status/ # Check stream status
│ ├── overlay/ # The public overlay view │ ├── overlay/ # The public overlay view
│ │ └── [token]/ # Dynamic route for user overlay │ │ └── [token]/ # Dynamic route for user overlay
│ │ ├── layout.tsx # Transparent background layout │ │ ├── layout.tsx # Transparent background layout
@@ -35,13 +37,15 @@ src/
├── components/ ├── components/
│ ├── dashboard/ # Dashboard-specific components │ ├── dashboard/ # Dashboard-specific components
│ │ ├── PreviewFrame.tsx # Live preview iframe/component │ │ ├── PreviewFrame.tsx # Live preview iframe/component
│ │ ── StyleControls.tsx # Form for editing styles │ │ ── StyleControls.tsx # Form for editing styles
│ │ └── SupportModule.tsx # Sidebar support & social module
│ ├── overlay/ # Overlay-specific components │ ├── overlay/ # Overlay-specific components
│ │ ├── ChatContainer.tsx │ │ ├── ChatContainer.tsx
│ │ └── Message.tsx │ │ └── Message.tsx
│ └── ui/ # Reusable UI components (buttons, inputs) │ └── ui/ # Reusable UI components (buttons, inputs)
├── lib/ ├── lib/
│ ├── supabase.ts # Supabase client │ ├── supabase.ts # Supabase client
│ ├── twitch.ts # Twitch API helpers
│ ├── utils.ts # Helper functions │ ├── utils.ts # Helper functions
│ └── types.ts # TypeScript interfaces │ └── types.ts # TypeScript interfaces
└── hooks/ # Custom React hooks (useChat, useSettings) └── hooks/ # Custom React hooks (useChat, useSettings)
@@ -55,7 +59,11 @@ src/
### 2. The "Style Creator" ### 2. The "Style Creator"
- **Left Panel:** Controls for font family, size, colors, opacity, badge toggles, and 7TV/BTTV emote toggles. - **Left Panel:** Controls for font family, size, colors, opacity, badge toggles, and 7TV/BTTV emote toggles.
- **Enhanced Settings:**
- Resolution Selection (720p/1080p).
- Quick "Copy Overlay URL" button.
- **Right Panel:** Live preview component rendering mock chat messages with the current settings applied. - **Right Panel:** Live preview component rendering mock chat messages with the current settings applied.
- **Support Module:** Sidebar widget showing developer's live status (via Twitch API) and social/donation links.
- **State:** React state manages unsaved changes; "Save" pushes to Supabase. - **State:** React state manages unsaved changes; "Save" pushes to Supabase.
### 3. The "Secret Sauce" URL (`/overlay/[token]`) ### 3. The "Secret Sauce" URL (`/overlay/[token]`)
@@ -78,10 +86,11 @@ src/
- **Environment:** The development machine is exclusively for coding; the service will never be hosted on the dev machine. - **Environment:** The development machine is exclusively for coding; the service will never be hosted on the dev machine.
## Implementation Phases ## Implementation Phases
1. **Project Initialization:** Scaffolding Next.js, Tailwind, and Supabase client. 1. **Project Initialization:** Scaffolding Next.js, Tailwind, and Supabase client. [Completed]
2. **Authentication:** Implementing NextAuth with Twitch. 2. **Authentication:** Implementing NextAuth with Twitch. [In Progress]
3. **Database:** Designing the Schema and connecting Supabase. 3. **Database:** Designing the Schema and connecting Supabase.
4. **Dashboard UI:** Building the Style Creator and Preview. 4. **Dashboard UI:** Building the Style Creator and Preview. [Completed]
- *Added:* Support Module, Resolution settings, Copy Link.
5. **Overlay Logic:** Creating the standalone overlay page and chat connection. 5. **Overlay Logic:** Creating the standalone overlay page and chat connection.
6. **Deployment:** Docker/LXC containerization. 6. **Deployment:** Docker/LXC containerization.
@@ -97,6 +106,7 @@ src/
"backgroundColor": "#000000", "backgroundColor": "#000000",
"backgroundOpacity": 0.5, "backgroundOpacity": 0.5,
"showBadges": true, "showBadges": true,
"resolution": "1080p",
"emotes": { "emotes": {
"bttv": true, "bttv": true,
"seventv": true "seventv": true