Create a Web interface
Open
@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 enableon a new account in the CLI
- Modules for external services need to redirect to OAuth path for login token acquisition - see what happens when you type
- Ability to interact with each module like in CLI (check respective
CLIProcessor.csfileTwitchCLIProcessor.csfor 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
- Read the whole issue, then the project's contributing guide.
- Comment on the issue to say you are picking it up — it saves two people doing the same work.
- Fork the repository and make your change on a branch.
- Open a pull request that references the issue number.
Assessment
This issue has not been assessed yet.