Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

exercise/lesson validation (dressed as a "virtual customer" regarding the user experience) #75

Closed
3 tasks
serapath opened this issue Dec 5, 2018 · 2 comments
Labels
#tasks specification category
Milestone

Comments

@serapath
Copy link
Contributor

serapath commented Dec 5, 2018

@todo

  • add technical concept around how to enable this without centralised servers
  • implement infrastructure
  • create task creating virtual-customers and pay with a made up "play token"
    • think about play token mechanics

Idea

  1. The workshop app lists tasks (exercises, exams, ...)
  2. Users choose a task and solve the code inside the editor and then submit
  3. In case of exercises, the submitted code is checked/validated by a bot
    • if pass => bot merged the users pull request to solve the exercise
    • if fail => bot comments on pull request and asks user to try again
  4. User codes until pull request is merged and gets rewarded (eventually with a payment)

goal:
Refining this workflow for users helps us to tune our tooling until it is good enough to add exams (=paid tasks) where the bot is replaced with a real "customer" who wants to outsource work and pays the learner.


@bit-shift

Related

more

@serapath
Copy link
Contributor Author

serapath commented Dec 5, 2018

INSPIRATION (helper librarys for AST checking)

These are used for JavaScript, but to have something similar for solidity could be very useful

If so - we could brainstorm about the API and how to make it module (e.g. AST tree walker, etc...)
Also - the alternative to a convenient AST checking library would be to focus on the compiler output and compare metadata and abi, but this won't help us a lot when it comes to figure out details about implemented methods :-) ...so yeah, what do you think?

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
#tasks specification category
Projects
None yet
Development

No branches or pull requests

1 participant