marcduiker / octogotchi-backend

The backend for Octogotchi
0 stars 0 forks source link

Description of high level Octogotchi functionalities #1

Open marcduiker opened 3 years ago

marcduiker commented 3 years ago

As discussed with @rajbos:

Users will fork the Octogotchi repo (it will be template repo).

The repo will only contain a small workflow that runs every day and on each PR. The workflow uses a custom GH Action (will be built in this repo) that calls a Function App exposed via APIM.

Each day a GH issue will be added to the forked Octogotchi repo (triggered by the workflow). The issue will contain instructions what to user should do to keep Octogotchi happy.

After every PR and daily run of the workflow the state of the repo / issue is checked in order to determine the new state of Octogotchi.

User can opt in to a dashboarding feature where the state of all Octogotchis can be seen.

rajbos commented 3 years ago

Basic setup has been created in the octogotchi repo with:

Next steps: figure out how we want to run things and build a backend that gives us state and text content for the issues / comments or readme.md

Option 1: Interaction setup through the issue

Add something to the body like:

 It's [day of the week]! [Your gotchi name] just woke up and needs to [action here]. 
You can interact with your gotchi through comments on this issue. These are the things you can do:
- Feed it: command = 'feed <gotchiname>'
- Pet it  = 'Pet <gotchiname>'
- Play with it  = 'Play with <gotchiname>'
- Clean up = 'Clean up <gotchiname>'

Adding the comment to the issue will then trigger the workflow and act on the 'command'.

From this we could even go so far as to explore different ways to give the command:

Action results:

Proposal for action results:

  1. Add a new the comment to the issue with the command result (new image and maybe some text indicating the command we've seen)
  2. Update the readme with the current state (image) of the octogotchi
  3. Update the state in our backend