GithubHelp home page GithubHelp logo

billdo / online_test Goto Github PK

View Code? Open in Web Editor NEW

This project forked from fossee/online_test

0.0 1.0 0.0 6.18 MB

Online quiz/exam taking application.

Home Page: http://yaksh.fossee.in

License: Other

Python 79.20% Shell 0.01% CSS 3.03% JavaScript 2.63% HTML 15.12%

online_test's Introduction

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 is installed.

Installation

  1. Install yaksh
    • For latest stable release

        $ pip install yaksh
      
    • For the development version

        $ pip install git+https://github.com/FOSSEE/online_test.git
      

Short instructions

To see a quick demo after installing yaksh do the following:

$ yaksh create_demo yaksh_demo
$ yaksh run yaksh_demo

On another terminal start up the code server that executes the user code safely:

$ sudo yaksh run_code_server

Now point your browser to http://localhost:8000/exam.

More detailed instructions

  1. On the terminal run:

     $ yaksh create_demo [project_path]
    
    • project_path is the desired directory of the django project the basename of which is also the Django project name. This can be a relative directory.

    • In case a project_path is not specified, the project is created in a yaksh_demo subdirectory of the current directory.

  2. The script does the following;

    1. Creates a new django project with name as the basename of the specified project_path
    2. Creates a new demo database.
    3. Creates two users, teacher and student.
    4. Loads demo questions.
    5. Loads demo quiz.
  3. To run the server, run:

     $ yaksh run relpath/or/abspath/to/demo
    
  4. In a new terminal run the following command which executes user submitted code safely:

     $ sudo yaksh run_code_server
    
  5. Open your browser and open the URL http://localhost:8000/exam

  6. 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
  7. 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 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: [email protected]

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)

online_test's People

Contributors

adityacp avatar ankitjavalkar avatar hardythe1 avatar jayparikh111 avatar maheshgudi avatar manish-kr avatar nishi2rock avatar parth115 avatar prabhuramachandran avatar prathamesh920 avatar

Watchers

 avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.