Skip to content
Permalink
02ea1ad2dc
Switch branches/tags

Name already in use

A tag already exists with the provided branch name. Many Git commands accept both tag and branch names, so creating this branch may cause unexpected behavior. Are you sure you want to create this branch?
Go to file
 
 
Cannot retrieve contributors at this time
64 lines (42 sloc) 4.19 KB
# E-Learning Tool
Build an online e-learning tool to teach someone about git. All the teaching materials should be stored in the database alongside all of the quiz questions. You will need to populate this database with at least 5 pages of valid learning content and five sensible multiple-choice quiz questions.
## Stage 1
The core functionality consists of three screens:
1. The home screen should display a link to the teaching content and a second one to the quiz. if the quiz has been attempted it should also display the user's latest score.
2. The content screen should display a detailed, multi-line, formatted chunk of learning content including a block of formatted text and an illustration.
1. There should be a next button that takes the user to the next page of content using the same page template.
2. Additionally there should be a home button to take the user back to the home page.
3. The quiz screen should display the first multiple-choice qestion. There should be a button to take the user to the next question which should use the same page template. At the end of the quiz there should be a button to take the user back to the home page where the latest quiz score should be displayed.
## Stage 2
The intermediate tasks require you to make changes to the functionality by allowing the admin user to edit the resources and add new ones.
1. There should be one account flagged up as admin. They log in using the same login page but will see additional functionality:
1. They should see a link or button on each learning content page that takes them to a screen to edit the detailed, multi-line, formatted chunk of learning content and update the image if needed
2. There should also be a link or button to insert a new page of content immediately after the current one
3. They should be able to add new multi-choice questions to the quiz and edit the existing ones
2. When a user has completed a quiz multiple times, the home page should display both the highest and the average score. Any person with a high score of less than 40% should be clearly flagged as having failed.
3. At the end of each quiz attempt the user should receive an email with their high and average scores and clearly indicating whether they have passed or failed. There should be a link to the home screen.
## Stage 3
1. Rather then only allowing multiple choice questions, the admin should be able to add:
1. True/false questions (only two predetermined choices).
2. Short answer questions (where the user has to enter text) which should be case-insensitive.
2. The admin user should be able to access a reporting screen which includes for each user:
1. Their full name and details.
2. their scores (average and best) for each quiz.
3. Admn users should be able to add new topics. which includes:
1. Pages of learning materials.
2. A dedicated quiz.
----
## Extras
In some assignment briefs you are given marks for the appropriate use of media and using sensors built into the user's device.
### Sensors
In some assignment briefs you are given marks for the appropriate use of sensors and sensor data. You should be implementing:
1. Each time a user starts a quiz the system should capture their current location and store this along with the quiz name and score for that attempt.
2. When the admin user views the reporting screen this should include a map that shows where each attempt was taken from. Selecting a pin should show the name of the user, topic, score and date.
3. Each topic should generate a QR code that can be sent to the user. Scanning this code with their device camera (if available) takes them to the topic start (or the last part of the topic they accessed).
### Media
In the requirements listed above you need to provide the user with the ability to upload photos. For the extra media marks you will need to expand this by:
1. Providing the user with the choice of uploading photos, video clips or audio clips.
2. Giving users the option to directly capture images, audio and video clips using the built-in camera and/or microphone if available.
### Data
There are lots of online RESTful APIs you can make use of when developing this system. You should consider:
1. [LocationIQ](https://locationiq.com)