diff --git a/Wiki/0-Dojo-presentation.md b/Wiki/0-Dojo-presentation.md new file mode 100644 index 0000000000000000000000000000000000000000..6b57243843561093f1e74debe2fcfc426fb7ba16 --- /dev/null +++ b/Wiki/0-Dojo-presentation.md @@ -0,0 +1,37 @@ +# Dojo: a platform to practice programming + +The dojo platform is an online tool built to help practice programming by +allowing users to propose assignments and perform them as exercises. + +The tool is very flexible and allows for proposing exercises for any language +and does not impose any limitation on a framework to be heavily relying +on Docker and Gitlab. These tools used in combination allow for automatic +correction of assignments in order to give immediate feedback to users +performing exercises. Solved exercises can then be shared among the community +of users such that they can inspire other users or give hints on ways to solve +a given exercise. + +The two major concepts of the platform are the **assignments** and the **exercises**. + +The principal way to interact with the Dojo platform is currently the `dojo` CLI. + +## The assignment + +An assignment is written by a user that wants to propose an exercise. It is typically composed of a written description of the work to be performed, +and tests that must be passed once the exercise is successfully performed (and some configuration files for the infrastructure of the tests +such as docker files). At its core, an assignment is +nothing else than a git repository that can be forked in the form of an exercise and modified using standard git commands. +For a more detailed description please see the [CLI documentation](home). +An assignment can be proposed by any user. + +In the future a dependency tree of assignments can be created, as well as tagging for filtering purposes. + +## The exercise + +An exercise is an instance of an assignment which the learner will modify in order to make it pass the automatic tests. +It can be run locally on any user's machine using the dojo CLI. When the exercise is completed +it is pushed on the dojo where the CI/CD tools of Gitlab can evaluate it automatically and +notify the dojo platform of the result. The exercises can then be shared with other users +in order to propose a wide variety of solutions and can be a base for discussion among users +and with teachers. +For a more detailed description please see the [CLI documentation](home). \ No newline at end of file diff --git a/Wiki/home.md b/Wiki/home.md index 8845268211489c59adc92804e12838a2a52cde82..90b298e88fc361293cfa24c148149689e3cd9fa6 100644 --- a/Wiki/home.md +++ b/Wiki/home.md @@ -1,9 +1,13 @@ -# Documentation of the `dojo` cli utility +# Documentation of the `dojo` CLI utility In this wiki you will find the documentation related to the `dojo` CLI. +## Dojo Project +The dojo platform is an online tool built to help practice programming by allowing users to propose assignments and perform them as exercises. +The two major concepts of the platform are the **assignments** (provided by teaching staff) and the **exercises** (performed by students). +More details here : [Dojo detailed presentation](0-Dojo-presentation) ## User documentation