Foxtrot

From mn/ifi/inf5750
Revision as of 12:08, 7 December 2014 by Chrinr@uio.no (talk | contribs)

Jump to: navigation, search

List of group members

  • Mona Isabelle Yari (monaiy@ifi.uio.no)
  • Peter Havgar(peterkh@ifi.uio.no)
  • Christopher Neumann Ruud (chrinr@ifi.uio.no)

Summary of requirements

In this project there will be developed two applications (app) for participating and creating quizzes, indented to contribute to e-learning of the DHIS2 system.The content of the apps is divided into courses consisting of modules with three different levels of users.

APP 1: Course taking app 

Initially intended for new beginners taking courses at different levels.

The application should include:

  • User level session
  1. Presentation, (presentation of a topic).
  2. Test/quiz.
  • Mentor level session
  1. Be able to check if a user has passed a level.
  2. Presentation, (issues users have when learning this topic).
  3. Test/quiz.
  • Further, the app should take into account: 
    • Competition: Score list or stats. Districts and/or individual.
    • Computer user interface: The application will open in a separate window.
    • The app will be foolproof and will not need any instructions before use.

 APP 2: Course writing app

This app is intended for creating and editing modules and courses. Will be rigid, so the format stays the same.

Courses:

Need to be able to edit and create:

  1. Motivation, possibly by adding a video.
  2. Select list of modules.
  3. Test/quiz.

Modules: 

The user will be able to create and edit the presentation of a topic; free text, formatting and inserting links, pictures, videos etc.

Evaluation: 

This module is for monitoring a set of users during an evaluation period, through logs of their use of some of the DHIS operations.

Architechture

We will primarily use HTML5, CSS3,, Bootstrap and AngularJS in this project. We believe they will work well together and help us create the best possible solution. 

To communicate with the DHIS2 RESTful API, AJAX and JSON will be applied.

List of technologies and frameworks we will use:

  • JavaScript (angular)
  • JSON
  • CSS
  • HTML5
  • AJAX
  • Bootstrap

Features

The application will have the following features: 
(Core funtionality will be priorotized)

  • Two types of users: Normal User and Administrator
  • Creating quiz
  • Taking quiz
  • Courses
  • Modules
  • Tests

Functinality not included in first release:

  • Score Board (for competition)
  • Integrated update for each user taking a quiz
  • Mentoring possibilities (optional)
  • Forum for community of learners
  • Level system
  • Deleting courses
  • Editing courses

Time schedule

Each group should follow these milestones:

Milestone 1: 01th November

Document features and architecture on Wiki - DONE

Show understanding of DHIS2 web apps - DONE


Milestone 2: 15th November

First bare-bone version - static HTML - IN PROGRESS

Basic JS object creation - DONE

Uploadable as DHIS2 web app - DONE and working

Read and write to API - DONE

Possible rewriting of the Object-structure

Milestone 3: 30th November

Finished, if applicable also with mobile app.


Final delivery: 8th December

Presentation: 9th December

How you are dividing tasks within the group

Peter: HTML and layout

Mona: forms and dataparsing

Christopher: Backend API-read and write

Screenshots and screen flows

Documented learning during project

Suggested improvements to APIs etc

We would very much like the server to handle application/json or application/xml - requests, so that everything would not have to be parsed to text/plain - Christopher

allow data creation apart from writing hacks into systemSettings/myKey - really dirty way of handling larger data structures - Christopher

/api/systemSettings.json gives 200 OK, as well as /api/systemSettings/myKey , but /api/systemSettings/myKey throws 404 errors with some GET methods in postman, for unknown reasons. The API should be tidier.

Link to repository

Link to our git repository

gitolite@git.uio.no:inf5750/chrinr/foxtrot

Download link to sample web app or Android app