diff --git a/README.md b/README.md index fb1bc8c1411668bd96d125b1b3e52ecd274f1466..801bc772974e619ebdc683fcdb82d545616678e0 100644 --- a/README.md +++ b/README.md @@ -4,10 +4,22 @@ Grady - will correct you! The intention of this tool is to simplify the exam correcting process at the University of Goettingen. It is deployed as a Django web application. -[](https://gitlab.gwdg.de/j.michal/grady/commits/master) +[](https://gitlab.gwdg.de/j.michal/grady/commits/master) [](https://gitlab.gwdg.de/j.michal/grady/commits/master) -[](https://gitlab.gwdg.de/j.michal/grady/commits/master) +Dependencies +------------ +Make sure the following packages and tools are installed: + +- Python 3.6 +- [`virtualenv`](https://virtualenv.pypa.io/en/stable/) +- [Docker](https://www.docker.com/) or a local installation of [Postgres](https://www.postgresql.org/) +- `npm` or `yarn` (you can use `npm` to install `yarn`) +- `make` + +These are required to set up the project. All other application dependencies are +listed in the `requirements.txt` and the `package.json` files. These will be +installed automatically during the installation process. Installing ---------- @@ -37,8 +49,8 @@ To set up a new instance perform the following steps: Some systems (like Ubuntu Xenial) come with a preinstalled "yarn - scenario testing of Unix command line tools". Using this will - **not** work. The \[yarn package - manager\](<https://yarnpkg.com/en/docs/install>) is needed. + **not** work. The [yarn package + manager](<https://yarnpkg.com/en/docs/install>) is needed. 4. Set up a Postgres 9.5 database. If you have docker installed the easiest way is to just run it in a docker container, like this: @@ -59,35 +71,51 @@ To set up a new instance perform the following steps: 6. Everything is set. You can start the development server with: - python3 manage.py runserver + python manage.py runserver or just: make run -7. Reliable test data will follow soon. +7. To import some test data in order to see how the application might look like + run: -Overview --------- + make loadexamples -Grady has three basic functions for the three types of users -- Reviewers can +Testing +------- + +> "Code without tests is broken by design." -- (Jacob Kaplan-Moss, Django core developer) - - edit feedback that has been provided by tutors - - mark feedback as final if it should not be modified (only final - feedback is shown to students) - - delete feedback (submission will be reassigned) +Well, currently this repository lacks tests, thats true. But that will change as +this work until now is merely a prototype that will be developed further. However, +the few existing tests can be seen as examples and can be found in the `tests.py` +file of each app (currently only `core`). You can run those tests with -- Tutors can + python manage.py test core - - request a submission that they have to correct and submit feedback for - - deleted their own feedback - - review feedback of other tutors - - they do not see which student submitted the solution +or if you want a coverage report as well you can run: -- Students can + coverage --source='.' manage.py test core + coverage report + +Overview +-------- + +Grady has three basic functions for the three types of users - - review their final feedback and score in the post exam review +* Reviewers can + * edit feedback that has been provided by tutors + * mark feedback as final if it should not be modified (only final feedback is + shown to students) + * delete feedback (submission will be reassigned) +* Tutors can + * request a submission that they have to correct and submit feedback for it + * deleted their own feedback + * review feedback of other tutors + * they do not see which student submitted the solution +* Students can + * review their final feedback and score in the post exam review An overview over the database can be found in the docs folder.