Difficulty goes from 1 (easy) to 4 (very hard), something like easy, medium, hard, very hard
- 1 - General UI of a settings panel, examples to use: integrations, internal-hubot and bot-helpers
- 2 - Create
bot-manager-ui
package with an initial skeleton - 1 - Check how the server log is shown in the client
- 2 - Accounts workflow, model of users, how roles work
- 2 - How do the caches work
- 3 - How to keep track of user connections
- 2 - Read the JS SDK code thoroughly and know of upcoming changes and a general overview of the other SDKs
- 2 - Discuss with Arthur what changes he plans to make and how they will work (or be adapted) with my project
- 1 - How will the server deliberately send messages to the clients using the SDK
- 2 - Understand Mongo better
- 2 - Understand the process of migrations in RC
- 3 - Decide how~ to store each kind of static data in the User model.
- 2 - Create a new
bot-manager
package from scratch that will contain the methods and helpers - 3 - Add login method specific to bots on both RC and all the SDKs codebases
- 2 - Expand the method above to receive the following data about the client
- Framework name and version
- Bot alias (not the username, alias for config/debug purposes), to be discussed and probably optional
- IP
- [to add]
- 3 - Add helper to get total number of messages sent by the bot user or, for a more general monitoring, all bot users
- 4 - Uptimes, log, ping, ip address, etc. How? [to expand]
- https://stackoverflow.com/questions/23148992/how-to-emit-data-only-to-one-client-in-meteor-streams ( second answer seems a good use along with UserPresence)
- https://stackoverflow.com/questions/27692020/send-data-from-server-to-client-without-collections-with-websocket
- 2 - Decide which data will be displayed on a summary of each bot listed
- 3 - List all the bots and their info, online first
- 4 - Do the UI exhibiting all the collected data.
- 3 - Button to create a new bot user, showing then a form to fill only the required fields for a bot user to be created (no need for e-mails for example), then link to some common bot deployment methods
- 4 - Buttons to resume/pause a bot. This can be framework agnostic, ignoring subscriptions directly in the SDK.