angular-workshop-skipbo icon indicating copy to clipboard operation
angular-workshop-skipbo copied to clipboard

Idea: Monitor Challenge Progress

Open georgiee opened this issue 5 years ago • 2 comments

There are six challenges where each challenge needs around 1-3h to be completed. Each challenge is split into several tasks. People can catch up with progress branches if they spend too much time on a singlet task. There are also mandatory tasks so I can forward the project implementation.

This means: Everyone is working on a challenge and I have no clue where the people are working on.

Idea:

It would be amazing to have an overview where everybody is currently working on. This could be achieved by placing a button at the beginning of each task. When pressed it would signal to me (as the workshop host) that the given user (authenticated through github) just started.

In the end I could look at a progress overview that could look like this:

Challenge 05 - Testing (Progress)

  • Task 1: Stock Bug (Investigate) 🐛(▓▓▓ 100%)
  • Task 2: Stock Bug — Part 1(▓░░░ 25%)
  • Task 3: Stock Bug — Part 2(▓▓░░ 50%)
  • Task 4: Stock Bug — Part 3(░░░ 0%)
  • Task 5: Test RxJS with Oscar 🐙 — CPUs(░░░ 0%)
  • Task 6: Test RxJS with Oscar 🐙 — Humans(░░░ 0%)
  • Task 7: Can Oscar play multiple cards ?(░░░ 0%)

I could event locate people that are struggling if I include a timer. That would be so hand, wouldn't it ? My plan is to work on a proof of concept 👌

georgiee avatar Dec 07 '18 11:12 georgiee

Do you see this in some kind of small companion webservice or somewhere within the workshop itself? Also, this should work even without authentication assuming people in the workshop actually want to use this as it's supposed to be used is fair.

heddendorp avatar Dec 13 '18 12:12 heddendorp

You are right about the authentication — this is supposed to make it easy but a lot of details are missing. Let me reshape the idea.

1. Simple approach (Github Markdown Preview) Ideally a workshop participant would visit a public url (/skipbo-workshop/join) and login with your first name and some kind of secret workshop token generated by the workshop host to build the relationship to the particular workshop. The challenge markdown files need some "Start this task/challenge" buttons to track the overall progress. The links would point to a web service with urls like /challenge/05-testing/start. A click on it would update the given user's progress.

We could maintain the session with a cookie or just prefill required fields (name, workshop token) from local storage.

2. More advanced (Github Pages) Well I wanted to try a small and idiomatic, Non-JS solution first — so everyone can stick to the github markdown view.

If we realize we need some JS, we could create github pages published version of the challenge documents. That page would be under our control and we can use more advanced techniques. What about this: The progress is tracked automatically by scrolling through the challenge. A name is generated and displayed sticky at the top of the page. There you can edit your name and start the actual workshop tracking by providing a workshop id/token.

To answer your question: It's a companion service with the clear goal to integrate it in the challenges so people won't forget clicking the milestones and report their progress. Authentication is not a requirement I consider all participants to trust each other, not to report wrong progress or login twice.

georgiee avatar Dec 13 '18 13:12 georgiee