#BC-9-JIBIZA
A project done in fullfillment of the application process for Andela Cohort 9
Why Jibiza? Jibiza is a swahili word meaning 'answer back' as translated into English. This formed the basis for why it was the name I settled for in regards to the Quiz Application project that I was assigned to accomplish.
Jibiza is a console based application that should be used to present questions with multiple choice questions that need be answered
The required commands for the application were:
Command | Argument | Explanation |
---|---|---|
quiz list |
None | List of all the available quizzes in your library |
quiz import |
<path_to_quiz_JSON> |
Import a new quiz from a JSON file |
quiz take |
<quiz_name> |
Start taking a new quiz |
The following requirements were also highlighted
-
When a user takes a quiz he gets a score based on the answers he got right
-
Timing can be added to quiz as a parameter in the JSON
-
As a user I can import quizzes from JSON files
-
Add in an online quiz repository using Firebase (extra credit)
-
List all the online quizzes
-
Download a quiz to your library
-
Publish a local quiz to the online library
JSON Format for Quizzzes should contain the following keys:
-
questions
- List of questions in the quiz -
text
- Question text -
options
- List of options for the question -
.is_answer
- Parameter of an option that can be true or false. Indicates whether or not that option is the correct answer. -
quiz take <quiz_name>
- Start taking a new quiz
#Installation.
To be able to get this project to your local machine
-
First git clone this project at
https://github.com/Kimanicodes/bc-9-jibiza.git
-
Navigate to the
bc-9-jibiza
folder. -
Create a virtual environment using the
virtualenv
command and activate it. -
Install the requirements via
pip install -r requirements.txt
-
Run the application in your terminal via
python jibiza.py
Alternatively you can follow the steps through this video:
#Bugs
A few bugs were encountered during the creation of Jibiza.
-
The
uploadquiz
functionality is erratic. -
The timer sometimes does not work as expected.(Fixed)
#Resources
-
The author @Kimani Ndegwa