Difference between revisions of "Team Algol"

From mn/ifi/inf5750
Jump to: navigation, search
m
Line 9: Line 9:
  
 
== Summary of Requirements ==
 
== Summary of Requirements ==
# Reduce data usage:
+
# Reduce data usage
#* Implement local data storage.
+
#* Implement local data storage
#* Implement local data caching.
+
#* Implement local data caching
# Redesign user interface to follow Material design guidelines.<br />
+
# Redesign user interface to follow Material design guidelines
  
== Architecture ==  
+
== Architecture ==
Android<br />
+
# Android application
Android Studio<br />
+
#* REST calls to DHIS2 for authentication and user information
Local DHIS2 installation<br />
+
#* XMPP messaging
etc..<br />
+
# DHIS2 instance
 
+
# XMPP server
== Downloads ==
 
* Group project repository: https://github.com/dhis2msg/DHISmessenger <br /> (later) the google app store link:<br />
 
  
 
== Project details ==
 
== Project details ==
Line 54: Line 52:
 
5. Test the app. Test all the corner cases.<br />
 
5. Test the app. Test all the corner cases.<br />
 
== Work schedule ==
 
== Work schedule ==
# '''Milestone (8th November)'''
+
# Milestone ('''8th November''')
 
#* Analysis of previous solution
 
#* Analysis of previous solution
 
#* Work planning according to the findings
 
#* Work planning according to the findings
# '''Milestone (22nd November)'''
+
# Milestone ('''22nd November''')
# '''Milestone (4th December)'''
+
# Milestone ('''4th December''')
  
 
== Group organization ==
 
== Group organization ==
* Source code distribution
+
* Source code
 
** [https://github.com/dhis2msg dhis2msg] organization on GitHub
 
** [https://github.com/dhis2msg dhis2msg] organization on GitHub
 
** [https://github.com/dhis2msg/DHISmessenger DHISmessenger] repository forked from [https://github.com/niclashalvorsen Niclas Halvorsen]
 
** [https://github.com/dhis2msg/DHISmessenger DHISmessenger] repository forked from [https://github.com/niclashalvorsen Niclas Halvorsen]
Line 69: Line 67:
 
* Instant messaging
 
* Instant messaging
 
** [https://slack.com/ Slack] service for group comunication
 
** [https://slack.com/ Slack] service for group comunication
 
 
== Screenshots, implementation of features ==
 
 
== Learning outcome and future thoughts ==
 
  
 
== Assignment text ==
 
== Assignment text ==
 
Can be found at: https://www.uio.no/studier/emner/matnat/ifi/INF5750/h15/group-projects/messenger-app/index.html
 
Can be found at: https://www.uio.no/studier/emner/matnat/ifi/INF5750/h15/group-projects/messenger-app/index.html

Revision as of 18:21, 8 November 2015

Team Algol : Android Messenger app for DHIS2

Group members

  • Vladislav Georgiev Alfredov <vladisla@ifi.uio.no>
  • Tomáš Livora <tomasliv@student.matnat.uio.no>
  • Mathias Ciarlo Thorstensen <mathiact@ifi.uio.no>
  • Hans Fredrik Fahle <hansffa@student.matnat.uio.no>
  • Jiader Chou <jiaderc@ifi.uio.no>

Summary of Requirements

  1. Reduce data usage
    • Implement local data storage
    • Implement local data caching
  2. Redesign user interface to follow Material design guidelines

Architecture

  1. Android application
    • REST calls to DHIS2 for authentication and user information
    • XMPP messaging
  2. DHIS2 instance
  3. XMPP server

Project details

Details about how we will solve the task, and component-like view of it go here...

Rough Task-Component-Todo view:
0. Go over the libraries and decide which is worth using: (time to implement the functionality ourselves + testing vs the resource cost of using the library + going over the library interface
0.1 List of the libraries of question:


1. Rest interface/layer redesign.
1.1 Rest Session storage? Use Persistance layer or Cache layer ?
1.2 How would the rest calls hit/miss the cache?
1.3 Is the DHIS2 api satisfactory ?

2. Persistance layer.
2.1 Use the OrmLite library ?
2.2 Store data on app start/exit.
2.3 Provide interface for the Rest Layer

3. Cache layer.
3.1 If requested object in memory return it. If not use persistance layer to get it. + pre-fetch bulk data from disk? If not on disk return null, informing that it is not cached.
3.2 Load chunks of cache in memory ? What happens if the app runs on really old android device that has very little ram ?

4. Go over all the ui and redo it to use Material design. Maybe use butterknife for activities as well ?

5. Test the app. Test all the corner cases.

Work schedule

  1. Milestone (8th November)
    • Analysis of previous solution
    • Work planning according to the findings
  2. Milestone (22nd November)
  3. Milestone (4th December)

Group organization

  • Source code
  • Weekly meetings
    • Group 1 Tuesday 10:15 - 12:00
    • Possible second weekly meeting if needed
  • Instant messaging
    • Slack service for group comunication

Assignment text

Can be found at: https://www.uio.no/studier/emner/matnat/ifi/INF5750/h15/group-projects/messenger-app/index.html