onflow / flow-playground

Flow Playground front-end app 🤹‍♂️
https://play.flow.com
Apache License 2.0
116 stars 26 forks source link

[EPIC] Guided Tutorials #678

Open bthaile opened 1 year ago

bthaile commented 1 year ago

UI will contain new guided tutorials. The structure will be stored in the frontend. User will be able to save the tutorial as a new project when they finish the tutorial. User progress will not be stored between sessions. User will need to start over if they refresh the browser. (to simplify the effort).

User will be able to select a guided tutorial from the "Learn Cadence" modal. The modal will be split into two panels.

Tutorial Sideout:

"existing-project-data" is a place holder for existing project properties. See here: https://github.com/onflow/flow-playground-api/blob/v2/schema.graphql

{
 "existing-project-data": "...",
 "tutorial": {
 "title": "...",
 "description": "...",
 "steps": [{
    "title": "...",
    "description": "...",
    "bubbles": "[...]",
    "examples": "[...]",
    "files": {
       "contracts": [{"filename": "contract1", "code": "code..."}],
       "transactions": [{"filename": "transaction1", "code": "code..."}],
       "scripts": [{"filename": "script1", "code": "code..."}]
    }
    "success": "...",
   }]
  } 
}

Notes: Tutorials are in dev portal: https://developers.flow.com/cadence/tutorial/hello-world

Past Conversation on guided tutorials: https://github.com/onflow/flow-playground/issues/368