diff options
-rw-r--r-- | CHANGELOG.txt | 4 | ||||
-rw-r--r-- | README.rst | 60 | ||||
-rw-r--r-- | online_test/__init__.py | 2 | ||||
-rw-r--r-- | requirements/requirements-common.txt | 2 | ||||
-rw-r--r-- | yaksh/migrations/0020_release_0_21_0.py | 28 |
5 files changed, 86 insertions, 10 deletions
diff --git a/CHANGELOG.txt b/CHANGELOG.txt index e50ecd3..d37f7c7 100644 --- a/CHANGELOG.txt +++ b/CHANGELOG.txt @@ -1,3 +1,7 @@ +== 0.21.0 (02-07-2020) === + +* Added support for hiding test cases for code questions + == 0.20.2 (02-06-2020) === * Added a custom filter to convert str objects to int in templates @@ -9,26 +9,41 @@ To get an overview of the Yaksh interface please refer to the user documentation This is a Quickstart guide to help users setup a trial instance. If you wish to deploy Yaksh in a production environment here is a `Production Deployment Guide <https://github.com/FOSSEE/online\_test/blob/master/README\_production.rst>`_ Introduction -^^^^^^^^^^^^ +============ This project provides an "exam" app that lets users take an online programming quiz. Features -^^^^^^^^ +======== - Define fairly complicated programming problems and have users solve the problem. - Immediate verification of code solution. -- Supports pretty much arbitrary coding questions in Python, C, C++ and - simple Bash and uses "test cases" to test the implementations of the - students. -- Supports simple multiple choice questions and File uploads. -- Since it runs on your Python, you could technically test any Python +- Supports pretty much arbitrary coding questions in Python, C, C++, Java, R, Scilab and + Bash. +- Supports Multiple choice, Fill in the blanks, Arrange options and File upload based questions. +- Since it runs on Python, you could technically test any Python based library. +- Create course with lessons and quiz for online learning. +- Almost real-time monitoring for quiz. +- Supports automatic and manual grading, regrading of quiz. +- Add grading system to the course. - Scales to over 500+ simultaneous users. - Distributed under the BSD license. +To get a glimpse of all the available features check our demo website https://yaksh-demo.fossee.in. It has 50 teacher and student login. + +**Sample teacher login** + +Username:- teacher1 +Password:- teacher1 + +**Sample student login** + +Username:- student1 +Password:- student1 + Requirements ============ @@ -36,6 +51,7 @@ Python 3.6, 3.7, 3.8 Django 3.0.3 +Celery 4.4.2 Installation ============ @@ -55,6 +71,34 @@ miniconda. Download miniconda with Python 3.6 and above. **Pre-Requisite** +* **Install redis server** + + Redis is required for celery. Celery runs a background task to re-evaluate the submissions. + + :: + + sudo apt install redis-server (Debian/Ubuntu) + + yum install redis (Centos) + +* **Start redis server** + + :: + + systemctl start redis + +* **Check redis server status** + + :: + + systemctl status redis + +* **Run celery worker** + + :: + + celery -A online_test worker -B + * Ensure `pip <https://pip.pypa.io/en/latest/installing.html>`_ is installed **Installing Yaksh** @@ -181,4 +225,4 @@ Copyright (c) 2011-2017 `FOSSEE <https://fossee.in>`_ .. |Version Status| image:: https://badge.fury.io/gh/fossee%2Fonline_test.svg :target: https://badge.fury.io/gh/fossee%2Fonline_test .. |Coverage Status| image:: https://codecov.io/gh/fossee/online_test/branch/master/graph/badge.svg - :target: https://codecov.io/gh/fossee/online_test
\ No newline at end of file + :target: https://codecov.io/gh/fossee/online_test diff --git a/online_test/__init__.py b/online_test/__init__.py index dcc123e..63a9920 100644 --- a/online_test/__init__.py +++ b/online_test/__init__.py @@ -4,4 +4,4 @@ from online_test.celery_settings import app as celery_app __all__ = ('celery_app',) -__version__ = '0.20.2' +__version__ = '0.21.0' diff --git a/requirements/requirements-common.txt b/requirements/requirements-common.txt index db5de43..b9901ae 100644 --- a/requirements/requirements-common.txt +++ b/requirements/requirements-common.txt @@ -1,6 +1,6 @@ -r requirements-codeserver.txt invoke==0.21.0 -django==3.0.3 +django==3.0.7 django-taggit==1.2.0 pytz==2019.3 requests-oauthlib>=0.6.1 diff --git a/yaksh/migrations/0020_release_0_21_0.py b/yaksh/migrations/0020_release_0_21_0.py new file mode 100644 index 0000000..ac88eda --- /dev/null +++ b/yaksh/migrations/0020_release_0_21_0.py @@ -0,0 +1,28 @@ +# Generated by Django 3.0.3 on 2020-07-02 08:13 + +from django.db import migrations, models + + +class Migration(migrations.Migration): + + dependencies = [ + ('yaksh', '0019_release_0_20_0'), + ] + + operations = [ + migrations.AddField( + model_name='hooktestcase', + name='hidden', + field=models.BooleanField(default=False), + ), + migrations.AddField( + model_name='standardtestcase', + name='hidden', + field=models.BooleanField(default=False), + ), + migrations.AddField( + model_name='stdiobasedtestcase', + name='hidden', + field=models.BooleanField(default=False), + ), + ] |