diff options
-rw-r--r-- | README.md | 132 | ||||
-rw-r--r-- | README.rst | 164 |
2 files changed, 164 insertions, 132 deletions
diff --git a/README.md b/README.md deleted file mode 100644 index 28f45d0..0000000 --- a/README.md +++ /dev/null @@ -1,132 +0,0 @@ -Yaksh -======== - -[![Build Status](https://travis-ci.org/FOSSEE/online_test.svg?branch=master)](https://travis-ci.org/FOSSEE/online_test) -[![Documentation Status](https://readthedocs.org/projects/yaksh/badge/?version=latest)](http://yaksh.readthedocs.io/en/latest/?badge=latest) - -To get an overview of the Yaksh interface please refer to the user documentation at [Yaksh Docs] (http://yaksh.readthedocs.io) - -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.md) - - -#### 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 based library. - * Scales to over 500+ simultaneous users. - * Distributed under the BSD license. - -Quick Start -=========== - -#### Pre-Requisites - -1. Ensure you have Python available. -1. Ensure [pip](https://pip.pypa.io/en/latest/installing.html) is installed. - -#### Installation - -1. Install yaksh - - Clone the repository - - $ git clone https://github.com/FOSSEE/online_test.git - - - Go to the online_test directory - - $ cd ./online_test - - - Install the dependencies - - - For Python 2 use: - - $ pip install -r ./requirements/requirements-py2.txt - - - For Python 3 (recommended) use: - - $ pip install -r ./requirements/requirements-py3.txt - -#### Short instructions - -1. Start up the code server that executes the user code safely: - - - To run the code server in a sandboxed docker environment, run the command: - - $ invoke start - - - Make sure that you have Docker installed on your system beforehand. - [Docker Installation](https://docs.docker.com/engine/installation/#desktop) - - - - To run the code server without docker, locally use: - - $ invoke start --unsafe - - - Note 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. - -1. On another terminal, run the application using the following command: - - $ invoke serve - - - *Note:* The serve command will run the django application server on the 8000 port - and hence this port will be unavailable to other processes. - -1. Open your browser and open the URL ```http://localhost:8000/exam``` - -1. Login as a teacher to edit the quiz or as a student to take the quiz - Credentials: - - Student - Username: student | Password: student - - Teacher - Username: teacher | Password: teacher - -1. User can also login to the Default Django admin using; - - Admin - Username: admin | Password: admin - - -History -======= - -At 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 application -[Singpath](http://singpath.com) that 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. - -Contact -======= - -For further information and support you can contact - -Python Team at FOSSEE: pythonsupport@fossee.in - -License -======= - -This is distributed under the terms of the BSD license. Copyright -information is at the bottom of this file. - -Authors -======= - - [FOSSEE Developers] (https://github.com/FOSSEE/online_test/graphs/contributors) - - -Copyright (c) 2011-2017 FOSSEE (fossee.in) diff --git a/README.rst b/README.rst new file mode 100644 index 0000000..c615d0e --- /dev/null +++ b/README.rst @@ -0,0 +1,164 @@ +Yaksh +===== + +|Build Status| |Documentation Status| + +To get an overview of the Yaksh interface please refer to the user documentation at `Yaksh Docs <http://yaksh.readthedocs.io>`_ + + +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.md>`_ + +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 + based library. +- Scales to over 500+ simultaneous users. +- Distributed under the BSD license. + +Quick Start +=========== + +Pre-Requisites +^^^^^^^^^^^^^^ + +1. Ensure you have Python available. +2. Ensure `pip <https://pip.pypa.io/en/latest/installing.html>`__ is + installed. + +Installation +^^^^^^^^^^^^ + +1. Install yaksh + + - Clone the repository + + :: + + $ git clone https://github.com/FOSSEE/online_test.git + + - Go to the online\_test directory + + :: + + $ cd ./online_test + + - Install the dependencies + + - For Python 2 use: + + :: + + $ pip install -r ./requirements/requirements-py2.txt + + - For Python 3 (recommended) use: + + :: + + $ pip install -r ./requirements/requirements-py3.txt + +Short instructions +^^^^^^^^^^^^^^^^^^ + +1. Start up the code server that executes the user code safely: + + - To run the code server in a sandboxed docker environment, run the + command: + + :: + + $ invoke start + + - Make sure that you have Docker installed on your system + beforehand. `Docker + Installation <https://docs.docker.com/engine/installation/#desktop>`__ + + - To run the code server without docker, locally use: + + :: + + $ invoke start --unsafe + + - Note 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. + +2. On another terminal, run the application using the following command: + + :: + + $ invoke serve + + - *Note:* The serve command will run the django application server + on the 8000 port and hence this port will be unavailable to other + processes. + +3. Open your browser and open the URL ``http://localhost:8000/exam`` + +4. Login as a teacher to edit the quiz or as a student to take the quiz + Credentials: + + - Student - Username: student \| Password: student + - Teacher - Username: teacher \| Password: teacher + +5. User can also login to the Default Django admin using; + + - Admin - Username: admin \| Password: admin + +History +======= + +At 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 application +`Singpath <http://singpath.com>`__ that 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. + +Contact +======= + +For further information and support you can contact + +Python Team at FOSSEE: pythonsupport@fossee.in + +License +======= + +This is distributed under the terms of the BSD license. Copyright +information is at the bottom of this file. + +Authors +======= + +`FOSSEE Developers <https://github.com/FOSSEE/online_test/graphs/contributors>`_ + +Copyright (c) 2011-2017 `FOSSEE <https://fossee.in>`_ + + +.. |Build Status| image:: https://travis-ci.org/FOSSEE/online_test.svg?branch=master + :target: https://travis-ci.org/FOSSEE/online_test +.. |Documentation Status| image:: https://readthedocs.org/projects/yaksh/badge/?version=latest + :target: http://yaksh.readthedocs.io/en/latest/?badge=latest |