lookeypl / lookeypl/LukeBot

Create a Web interface

Open
#20 0 comments 0 reactions 1 assignee View on GitHub

@2pack4norbi is already working on this.

Since Oct 28, 2024.

enhancement
Dominant language
C#
Stars
0
Forks
1
PR merge metrics
No merged PRs in 30d

Description

LukeBot is now controllable only from the console. Not the most user-friendly approach... It would be good to have at least some level of control from the Web interface side.

Steps in which I would like to see this issue go (we should probably regroup after each step):

  • First "skeleton" design of the interface - not functional yet, but with ability to navigate through some pages
  • Second evolution of the design which would cover most of below functionalities
  • Integration with current implementation to make things happen on the bot (see NOTE below)
  • Last-but-not-least - a nice-to-have would be some form of browser integration tests with Selenium or something else. Something automated to make sure web UI works as intented - we will get back to it once stuff is close to working.

Must-be functionalities (for now, we may expand this):

  • Ability to log in and out to the bot with LukeBot's account/auth system (this might require some deeper changes, as I wrote auth stuff with CLI in mind only - we can brief each other on that)
  • Ability to enable specific modules/integrations in the Bot (there's Twitch, Spotify and internal Widgets engine; I plan to add Discord support in the future, it would be good to make this part easily expandable to accommodate that)
    • Modules for external services need to redirect to OAuth path for login token acquisition - see what happens when you type twitch enable on a new account in the CLI
  • Ability to interact with each module like in CLI (check respective CLIProcessor.cs file TwitchCLIProcessor.cs for Twitch CLI commands to mirror):
    • Twitch - adding/removing/modifying chat commands of available types, listing commands
    • Widget - creating/removing widgets of all available types, managing widgets assigned to the account
    • Spotify - doesn't have much deeper integration, it is now only used for the "Now Playing" widget and most configuration goes through there
    • User interaction (for Admin accounts only) - managing LukeBot accounts

NOTE: I'm leaving the integration-with-bot part for the end, because it still needs to be reorganized and a "middle layer" for it has to be created (see #21).

Contributor guide

No contributing guide indexed for this repository

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

Assessment

This issue has not been assessed yet.

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.