3.4 KiB
3.4 KiB
Project Task List
This file tracks all active development tasks. It is based on the official DEVELOPMENT_PLAN.md.
📋 How to Use This List
- Find a task in the "To Do" section that you want to work on.
- Add your name next to it (e.g.,
[ ] Task Name - @YourName). - When you start, move it to "In Progress" and follow the
CONTRIBUTING.mdworkflow. - When your Pull Request is merged, move it to "Done."
If you want to use emojis for visibility, here's some I have used: ✔️ - Done | 🧑🔧 - In progress | ↗️ - Task evolved (should correspond with an edit in the DEVELOPMENT_PLAN.md
🚀 Phase 1: User Authentication & Database
- Goal: Get the basic API, database, and Twitch login flow working.
To Do
Done
[✔️]1.0: Project Skeleton - @ramforth- Task: Setup
main.py,requirements.txt, and.gitignore.
- Task: Setup
[✔️]1.1: Database Schema: Define SQLAlchemy models forUser(id, username, platform, encrypted_tokens) andSettings. @ramforth[✔️]1.1.5: Discord Overview: Create an automated 'TASK-LIST' and post to Discord whenever someone pushes a change to the repository. @ramforth[✔️]1.2: Twitch OAuth API: Create FastAPI endpoints for/login/twitch(redirect) and/auth/twitch/callback(handles token exchange). @ramforth[✔️]1.3: Secure Token Storage: Implement helper functions toencryptanddecryptOAuth tokens before storing them in the database. @ramforth[✔️]1.4: Basic Session Management: Create a simple session/JWT system to know who is logged in. @ramforth[✔️]1.5: Login Frontend: Create a basiclogin.htmlfile with a "Login with Twitch" button. @ramforth
⏳ Phase 2: User Dashboard & Configuration
- Goal: Allow logged-in users to see a dashboard, get their overlay URL, and save settings. Now that Phase 1 is done, these tasks are ready to be worked on.
To Do
[ ]2.4: Create Logo and Favicon: The project should have a logo and a favicon.
Done
[✔️]2.0: CSS Refactor & Styling: Improved the general look and feel of the application pages, including a light/dark theme switcher.[✔️]2.1: Dashboard UI: Createddashboard.htmlfor logged-in users to manage settings.[✔️]2.2: Config API: Created API endpoints for/api/settingsto save user preferences.[✔️]2.3: Overlay URL: Generated and displayed the unique overlay URL for the user on the dashboard.[✔️]2.5: Custom CSS Themes: Implemented a system for users to create, preview, and delete their own private CSS overlay themes.
💬 Phase 3: Real-time Chat & Overlay
- Goal: The core magic. Start chat listeners for users and show messages in the overlay.
- (All tasks for this phase are on hold until Phase 2 is complete)
To Do
[ ]3.1: Dynamic Listener Manager (The Big One): Design a system (e.g., background service) to start/stop listener processes for users.[ ]3.2: User-Specific Broadcasting: Update the WebSocket system to use "rooms" (e.g.,/ws/{user_id}) so users only get their own chat.[ ]3.3: Basic Overlay UI: Create theoverlay.htmlpage that connects to the WebSocket and displays messages.
💡 Backlog & Future Features
[ ]Implement YouTube OAuth &pytchatlistener (Phase 4).[ ]"Single Message Focus" feature (Issue #1).[ ]Moderator panels (Issue #2).