Package: yaksh
YakshTo get an overview of the Yaksh interface please refer to the user documentation atYaksh DocsThis is a Quickstart guide to help users setup a trial instance. If you wish to deploy Yaksh in a production environment here is aProduction Deployment GuideIntroductionThis project provides an “exam” app that lets users take an online
programming quiz.FeaturesDefine 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
based library.Scales to over 500+ simultaneous users.Distributed under the BSD license.Quick StartPre-RequisitesEnsure you have Python available.Ensurepipis
installed.InstallationInstall yakshClone the repository$ git clone https://github.com/FOSSEE/online_test.gitGo to the online_test directory$ cd ./online_testInstall the dependenciesFor Python 2 use:$ pip install -r ./requirements/requirements-py2.txtFor Python 3 (recommended) use:$ pip install -r ./requirements/requirements-py3.txtShort instructionsStart up the code server that executes the user code safely:To run the code server in a sandboxed docker environment, run the
command:$ invoke startMake sure that you have Docker installed on your system
beforehand.Docker
InstallationTo run the code server without docker, locally use:$ invoke start --unsafeNote this command will run the yaksh code server locally on your
machine and is susceptible to malicious code. You will have to
install the code server requirements in sudo mode.On another terminal, run the application using the following command:$ invoke serveNote:The serve command will run the django application server
on the 8000 port and hence this port will be unavailable to other
processes.Open your browser and open the URLhttp://localhost:8000/examLogin as a teacher to edit the quiz or as a student to take the quiz
Credentials:Student - Username: student | Password: studentTeacher - Username: teacher | Password: teacherUser can also login to the Default Django admin using;Admin - Username: admin | Password: adminHistoryAt FOSSEE, Nishanth had implemented a nice django based app to test for
multiple-choice questions. Prabhu Ramachandran was inspired by a
programming contest that he saw at PyCon APAC 2011. Chris Boesch, who
administered the contest, used a nice web applicationSingpaththat he had built on top of GAE that
basically checked your Python code, live. This made it fun and
interesting.Prabhu wanted an implementation that was not tied to GAE and hence wrote
the initial cut of what is now ‘Yaksh’. The idea being that anyone can
use this to test students programming skills and not have to worry about
grading their answers manually and instead do so on their machines.The application has since been refactored and maintained by FOSSEE
Developers.ContactFor further information and support you can contactPython Team at FOSSEE:pythonsupport@fossee.inLicenseThis is distributed under the terms of the BSD license. Copyright
information is at the bottom of this file.AuthorsFOSSEE DevelopersCopyright (c) 2011-2017FOSSEE