fossee / online_test Goto Github PK
View Code? Open in Web Editor NEWOnline quiz/exam taking application.
Home Page: https://yaksh.fossee.in
License: Other
Online quiz/exam taking application.
Home Page: https://yaksh.fossee.in
License: Other
This will make it easy to add new questions. It would be nice if the questions could also be saved into a yaml file.
A course can set prerequisites using this course code. Now instead of implementing this with strings, which is very fragile. We should create a course template which is simply referred to in this particular course. A moderator should be able to then edit and modify this course if needed by adding/removing quizzes, editing quizzes etc.
It would be nice if the ordering of the questions was as chosen in the question paper instead of it being based on the key.
The institute, college, department, email etc. this makes it easy to reject/enroll students.
Add an field which checks if a given string is not in the submitted code to make sure user is not just returning the answer directly and warn user (and moderator) suitably.
On a simple test demo instance, if you run sudo yaksh run_code_server
, it is unable to create the temporary directory or so leading to an exception like so:
File "envs/yaksh/lib/python3.5/xmlrpc/client.py", line 1322, in parse_response
return u.close()
File "envs/yaksh/lib/python3.5/xmlrpc/client.py", line 655, in close
raise Fault(**self._stack[0])
xmlrpc.client.Fault: <Fault 1: "<class 'PermissionError'>:[Errno 13] Permission denied: '/var/folders/tr/pfk3lcgd4dndrbppzjwp_tp40000gn/T/output'">
This should allow an instructor to create a quiz where users cannot skip a question and can proceed to the next question only when they finish the current question.
Currently it seems you can only have one demo instance to play with. Instead of writing the NAME and PATH to the project_details.py it should either write a config file, or expect an additional argument to the path which should be used as the directory with the NAME as the basename of the dir.
The cli.py also does not satisfy PEP 8 and has other issues such as:
The first line must be from testapp.settings import *
Setting database details is different in Django 1.3.
It must be
DATABASES["default"]["ENGINE"] = 'django.db.backends.mysql'
DATABASES["default"]["NAME"] = 'online_test'
DATABASES["default"]["USER"] = 'online_test_user'
from testapp.local import DATABASE_PASSWORD
DATABASES["default"]["PASSWORD"] = DATABASE_PASSWORD
Proper sphinx documentation and better install + usage instructions.
In MCQ type questions, the options should be displayed in html rendered format for multiple line options.
This has failed multiple times and no tests catch this. It should be tested.
Each course will have a particular access code . The institute or organisation willing to enroll for a particular course, will be given the course code in advance. Once the student logs in, he/she would be asked for a course code on the landing page. On entering the correct course code, the student will be enrolled for that course and the student will only be able to see all the courses that they have enrolled for.
i used "pip install yaksh" it throws a error
Could not find a version that satisfies the requirement yaksh (from versions: )
No matching distribution found for yaksh
please reply asap
Complex test cases . Test case to be simplified
This is clearly nonsensical. If I did not finish a problem, it should not say you didn't attempt it, but say you didn't complete it or something more correct.
The upload functionality assumes that the questions are saved in questions_dump.json
.
I couldn't find any documentation specifying this and the upload page also did not show any errors when I tried to upload the JSON file with a different file name.
For better UI, it would be nice if the upload button is disabled or hidden until the user selects a file to upload or clicking it should directly open up the upload file dialog.
This common function should go into a header file and be included. I think these main files can be actually auto-generated from the test cases desired.
In yaksh/bash_code_evaluator.py
18| def init(self, metadata, test_case_data):
In the next refactor you could actually refactor this to use all keyword args like init(self, user_answer, file_paths, ...) and use **metadata when instantiating it?
Selenium tests are not being executed for travis CI.
Right now if it is not an assertion error it doesn't even show the test case. It should really give the user a lot more information so they can debug.
We should cleanup the project and make it installable via pip/easy_install.
When a file submission assignment is made it should be possible to run hook code to check it -- this should basically ensure that all the files are made available before the hook code runs.
Try setting up a question like so:
Expected input: 55
Expected output:
5
5
Write the solution with Python and the error message is poorly formatted and not at all helpful. Worse, I can't seem to get the right answer no matter what I try. Why is this so difficult?
Currently the StdIO evaluator functions properly by using an instance of a generic class. We need to make the following changes;
There are reports that this is not working correctly for users.
Questions that are deleted are actually hidden. However even after pseudo-deletion these questions keep showing up when User is trying to add questions to a new QuestionPaper or when filtering Questions.
pip installable etc.
Please refer to PR #152
Also, rejected folks show up all the time, maybe they should not be listed on the right?
Or something better could be done.
Styling parameters added directly in HTML templates have to be removed and put in respective CSS of the templates.
We can have a method for error handling, which will produce error in a proper format.
Should make it easy to add formulae to questions.
Need to add support for multiple test case scenarios for each language (Python, C, C++ etc)
Moderator testing a particular Trial Quiz is unable to check if Prerequisite is passed or not
It is annoying to have a useless field when setting a Python question -- the bash command line args field shows up always and this is not nice at all.
docker build -t yaksha:v1 -f Dockerfile .
docker images
will show the docker image successfully createddocker run -d -p 8001:8001 -p 53579:53579 yaksha:v1
- start the serverActual: The container immediately dies. docker logs -f <container_id>
shows the following error stack trace. Traceback (most recent call last): File "/src/yaksh/code_server.py", line 51, in <module> from tornado.ioloop import IOLoop ImportError: No module named tornado.ioloop
Expected: Server starts without error inside container and able to access the web ui on :8001
Need to change download feature. Instead of separate links give a add a button to download files as zip file.
Need to add validation to check if moderator uploads two files with same name
Add testcase if file does not exists.
A declarative, efficient, and flexible JavaScript library for building user interfaces.
๐ Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. ๐๐๐
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google โค๏ธ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.