Skip to content

manytask/manytask

Manytask

Test Publish codecov github docker

Small web application for managing courses: store students' grades, maintain deadlines, provide scoreboard etc.


How it works

For the students, Manytask is an app that stores scores and shows progress though courses. For the teacher, Manytask provides flexible interfaces to interact with Repository Management System, reveal tasks while the course progresses, set deadlines.

The full Manytask setup includes:

  • A database to store student scores
  • Self-hosted Repository Management System instance (currently only GitLab is supported).
  • A set of courses, each of which is represented by:
    • Private repository - one per course - a teacher's repository that contains all the information on the course, including tasks, public and private tests, gold solutions, deadlines and testing environment, information on how to deploy the course. This repository contains all the data on the course, it is not visible by students.
    • Public repository - a repository available to students with tasks and solution templates. This repository is derived from private repository: only public tests, task formulations and templates are exported, while teacher's solutions and private tests are not. Teacher can also control which tasks are exported and which are not.
    • Group for students repositories - the group where Manytask will create repositories for students.
      Each student will have their own repository, which is forked from public repository.
  • CI/CD runners - where students' solutions will be tested
  • Manytask Checker script - some script to test students' solutions and send scores/grades to the Manytask web application
  • Manytask instance - web application managing students' grades and deadlines

So the main aims of Manytask:

  • Store and manage students' grades (store, provide, show, edit, etc.)
  • Show web page with grades and deadlines for student
  • Manage users and repositories creation

Functions for which Manytask is NOT intended:

  • Test students' solutions
  • Be language/course specific
  • Substitute for Learning Management System (LMS)

Acknowledgment

Originally was developed at gitlab as shad-ts by Fedor Korotkiy for Yandex School of Data Analysis.

The project would not be possible without an effort of many developers, including:

  • Fedor Korotkiy - development of the very first version, 2017-2018
  • Ilariia_Belova - updates for python course, 2018
  • Vadim Mazaev - updates for python course, 2019-2020
  • Nikita Bondartsev - minor updates for python course, 2020-2021
  • Konstantin Chernyshev - updates for python course, massive refactor and moving to github, 2020-2024

Current developers:

And many others! Please, see the full list of contributors.

About

The auto solution checking system for YSDA; server, storing grades and managing deadlines

Resources

License

Code of conduct

Contributing

Stars

Watchers

Forks

Packages

No packages published

Contributors 23