Permalink
Cannot retrieve contributors at this time
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?
projects/04 E-Learning.md
Go to fileThis commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
105 lines (65 sloc)
4.84 KB
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
# E-Learning Tool | |
Build an online e-learning tool to teach someone about git. | |
--- | |
## Testing | |
The system should include valid content and quiz questions. | |
You are required to create the following accounts to allow the system to be tested. All accounts should have the password `p455w0rd`: | |
1. `student1` | |
2. `student2` | |
3. `teacher1` | |
4. `teacher2` | |
--- | |
## Stage 1 | |
The core functionality requires you to develop a set of teaching materials to help someone learn how to use the `git` commands. This includes 10 screens of content plus 10 multiple-choice questions. | |
### Part 1 | |
All users should share the same login screen but some users should be flagged as teachers in the database. The homepage should not be visible if not logged in. | |
If someone logs in with a teaching account they should see an **Add content** link or button on the homepage. | |
The _Add Content_ screen should allow the teacher to create a new page of content. It should ask for: | |
1. The content title. | |
2. The content as multiline text. The teacher should be able to enter the content using _markdown_ formatting. | |
3. An optional image. | |
When the data is added to the database, the following extra information should be added without the user needing to provide it: | |
1. The username of the person adding the content. | |
2. The date and time of when the content was added. | |
### Part 2 | |
If a student logs in they should see a summary of the learning content displayed on the homepage. For each piece of learning content added they should see: | |
1. The title. | |
2. The date added. | |
3. The username of the teacher who added it. | |
### Part 3 | |
There should be a **View** button or link next to each piece of learning content. Clicking this takes the student to the content page which should display the title of the learning content, the image (if provided) and the learning content text converted from markdown into formatted html. | |
--- | |
## Stage 2 | |
For stage 2 you will be adding multiple-choice questions to the learning content. | |
1. There should be an **Add question** link or button on the homepage if the user is a teacher. Clicking this takes them to a page where they can write a question and provide multiple-choice answers. The screen should provide: | |
1. A multiline textbox where the teacher can write their question in markdown syntax. | |
2. Four textboxes where they can write down alternative answers. | |
3. There should be a radio button next to each answer so the teacher can indicate which answer is correct. | |
4. There should be a dropdown list containing the titles for each page of learning content so the teacher can indicate which page of content the question relates to. | |
2. When a student views a page of learning content any questions linked to this are displayed under the content. There should be a **Submit** button or link which records their answers and returns them to the homepage. | |
--- | |
## Stage 3 | |
1. If the student attempts the questions for a piece of learning content the homepage should display their score as a percentage. If the student views the content after answering the questions the content should be displayed but not the questions so they can't retake the test. | |
2. There should be some summary percentage stats on the student homepage showing: | |
1. The number of pages of content viewed. | |
2. The number of tests attempted. | |
3. The average score. | |
3. If a teacher views the homepage is should show for each piece of learning content: | |
1. How many students have viewed. | |
2. How many students have attempted the tests. | |
3. The overall pass rate. | |
---- | |
## 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) |