Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/UCL-INGI/INGInious
INGInious is a secure and automated exercises assessment platform using your own tests, also providing a pluggable interface with your existing LMS.
https://github.com/UCL-INGI/INGInious
assessment autograding coding-interviews e-assessment education evaluation exercise grading inginious interview learn-to-code learning lti mooc programming-exercise technical-coding-interview training
Last synced: 2 months ago
JSON representation
INGInious is a secure and automated exercises assessment platform using your own tests, also providing a pluggable interface with your existing LMS.
- Host: GitHub
- URL: https://github.com/UCL-INGI/INGInious
- Owner: UCL-INGI
- License: other
- Created: 2014-08-03T17:18:46.000Z (over 10 years ago)
- Default Branch: master
- Last Pushed: 2024-05-17T13:29:27.000Z (8 months ago)
- Last Synced: 2024-05-30T01:06:27.395Z (8 months ago)
- Topics: assessment, autograding, coding-interviews, e-assessment, education, evaluation, exercise, grading, inginious, interview, learn-to-code, learning, lti, mooc, programming-exercise, technical-coding-interview, training
- Language: Python
- Homepage: http://www.inginious.org
- Size: 42.2 MB
- Stars: 190
- Watchers: 21
- Forks: 135
- Open Issues: 137
-
Metadata Files:
- Readme: README.rst
- License: LICENSE
Awesome Lists containing this project
- Awesome - INGInious - INGInious is a secure and automated exercises assessment platform using your own tests, also providing a pluggable interface with your existing LMS. (Development / VoIP)
README
INGInious
=========.. image:: https://api.codacy.com/project/badge/Grade/7cd8340004ef4d409143d5c24259efc1
:alt: Codacy Badge
:target: https://app.codacy.com/gh/UCL-INGI/INGInious?utm_source=github.com&utm_medium=referral&utm_content=UCL-INGI/INGInious&utm_campaign=Badge_Grade_Dashboard
.. image:: https://app.codacy.com/project/badge/Coverage/9102bbf54901478dbe288a386195f77e
:alt: Codacy coverage Badge
:target: https://www.codacy.com/gh/UCL-INGI/INGInious/dashboard?utm_source=github.com&utm_medium=referral&utm_content=UCL-INGI/INGInious&utm_campaign=Badge_Coverage
.. image:: https://github.com/UCL-INGI/INGInious/actions/workflows/ci.yml/badge.svg
:target: https://github.com/UCL-INGI/INGInious/actions
.. image:: https://github.com/UCL-INGI/INGInious/actions/workflows/env_containers.yml/badge.svg
:target: https://github.com/UCL-INGI/INGInious/actions
.. image:: https://readthedocs.org/projects/inginious/badge/?version=latest
:target: https://readthedocs.org/projects/inginious/?badge=latest
.. image:: http://weblate.info.ucl.ac.be/widgets/inginious/-/frontend/svg-badge.svg
:target: http://weblate.info.ucl.ac.be/engage/inginious/?utm_source=widgetINGInious is an intelligent grader that allows secured and automated testing of code made by students.
It is written in Python and uses Docker_ to run student's code inside a secured environment.
INGInious provides a backend which manages interaction with Docker and grade code, and a frontend which allows students to submit their code in a simple and beautiful interface. The frontend also includes a simple administration interface that allows teachers to check the progression of their students and to modify exercices in a simple way.
The backend is independent of the frontend and was made to be used as a library.
INGInious can be used as an external grader for EDX. The course `Paradigms of Computer Programming - Fundamentals`_ uses INGInious to correct students' code.
.. _Docker: https://www.docker.com/
.. _Paradigms of Computer Programming - Fundamentals: https://www.edx.org/course/louvainx/louvainx-louv1-1x-paradigms-computer-2751How to install?
---------------Simply run:
.. code-block::
$ docker compose up --build
> Note that you can override the registry and containers version by setting the `REGISTRY` and
> `VERSION` environment variables.And access http://localhost:9000 in your browser.
*The default login and password are* ``superadmin``.
The ``--build`` argument is optional, use it if you want to rebuild locally the core containers.
If you want to simply pull them from the project's registry, this argument is not required.Docker-compose will create a ``tasks`` folder if it does not exist already.
You can then add new courses to your fresh INGInious instance by installing them in the ``tasks`` folder.
For example, the INGInious tutorial course is installed with the following commands:
.. code-block::
$ git clone https://github.com/UCL-INGI/INGInious-demo-tasks.git
$ mv INGInious-demo-tasks/tutorial tasks/*If you encounter permission errors, you should run the following command:*
.. code-block::
$ sudo chown -R : tasks
*This can happen when the tasks directory is created by docker-compose.*
Note that the `configuration.deploy.yaml` file provided is a sample configuration, the secret key **must** be changed by administrators in production deployments.
.. _Manual installation: https://docs.inginious.org/en/latest/admin_doc/install_doc/installation.html
`Manual installation`_ is also possible with pip.
Documentation
-------------The documentation is available on Read the Docs:
- For the stable branch : http://inginious.readthedocs.org/
- For the master (dev) branch (not always up to date) : http://inginious.readthedocs.org/en/latest/index.htmlOn Linux, run ``make html`` in the directory ``/doc`` to create a html version of the documentation.
Roadmap
-------INGInious is continuously improved. The various Work In Progress tasks are described in the Roadmap_ of the project.
.. _Roadmap: https://github.com/UCL-INGI/INGInious/wiki/Roadmap
Notes on security
-----------------Docker containers can be used securely with SELinux enabled. Please do not run untrusted code without activating SELinux.
Mailing list
------------A mailing list for both usage and development discussion can be joined by registering here_.
.. _here: https://sympa-2.sipr.ucl.ac.be/sympa/info/inginious