Phase 2: User experience enhancements to templates handling, dashboard and overlays.
This commit is contained in:
@@ -17,6 +17,8 @@ The goal is to create a service where streamers can log in using their platform
|
||||
## 3. Implementation Roadmap
|
||||
|
||||
### Phase 1: User Authentication & Database (FastAPI)
|
||||
**Status: ✔️ Complete**
|
||||
|
||||
1. **Project Skeleton:** Establish the core FastAPI application structure, dependencies, and version control.
|
||||
2. **Database Schema:** Define the data models for users and settings using SQLAlchemy.
|
||||
3. **Twitch OAuth2:** Implement the server-side OAuth2 flow within FastAPI to authenticate users and securely store encrypted tokens in the database.
|
||||
@@ -24,16 +26,22 @@ The goal is to create a service where streamers can log in using their platform
|
||||
5. **Basic Frontend:** Develop a simple login page.
|
||||
|
||||
### Phase 2: User Dashboard & Configuration
|
||||
**Status: 🚀 In Progress**
|
||||
|
||||
1. **Dashboard UI:** Create a dashboard page accessible only to authenticated users.
|
||||
2. **Settings API:** Build API endpoints for users to save and retrieve their overlay settings (e.g., custom CSS).
|
||||
3. **Overlay URL Generation:** Display a unique, persistent overlay URL for each user on their dashboard.
|
||||
|
||||
### Phase 3: Dynamic Listeners & Basic Overlay
|
||||
**Status: ⏳ Not Started**
|
||||
|
||||
1. **Dynamic Listener Manager:** Design and build a background service that starts and stops chat listener processes (`twitchio`, `pytchat`) based on user activity.
|
||||
2. **Real-time Message Broadcasting:** Implement a WebSocket system within FastAPI to push chat messages to the correct user's overlay in real-time.
|
||||
3. **Basic Overlay UI:** Create the `overlay.html` page that connects to the WebSocket and renders incoming chat messages.
|
||||
|
||||
### Phase 4: Integration & Refinement
|
||||
**Status: ⏳ Not Started**
|
||||
|
||||
1. **YouTube Integration:** Implement the full YouTube OAuth2 flow and integrate the `pytchat` listener into the dynamic listener manager.
|
||||
2. **Advanced Overlay Customization:** Add more features for users to customize their overlay's appearance and behavior.
|
||||
3. **Twitch Chat Writeback:** Re-introduce the `chat:write` scope during authentication to allow the service (and potentially moderators, as per Issue #2) to send messages to the user's Twitch chat.
|
||||
|
||||
Reference in New Issue
Block a user