Difference between revisions of "Team Algol"
m (Tag: Visual edit) |
|||
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 | + | # Redesign user interface to follow Material design guidelines |
− | == Architecture == | + | == Architecture == |
− | Android | + | # Android application |
− | + | #* REST calls to DHIS2 for authentication and user information | |
− | + | #* XMPP messaging | |
− | + | # DHIS2 instance | |
− | + | # XMPP server | |
− | |||
− | |||
== 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''') |
#* Analysis of previous solution | #* Analysis of previous solution | ||
#* Work planning according to the findings | #* Work planning according to the findings | ||
− | # ''' | + | # Milestone ('''22nd November''') |
− | # ''' | + | # Milestone ('''4th December''') |
== Group organization == | == Group organization == | ||
− | * Source code | + | * 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 | ||
− | |||
− | |||
− | |||
− | |||
− | |||
== 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
Contents
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
- Reduce data usage
- Implement local data storage
- Implement local data caching
- Redesign user interface to follow Material design guidelines
Architecture
- Android application
- REST calls to DHIS2 for authentication and user information
- XMPP messaging
- DHIS2 instance
- 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:
- asmack.jar (Xmpp code redesign to comply with maven): https://github.com/igniterealtime/Smack/wiki/Smack-4.1-Readme-and-Upgrade-Guide
- reactiveX (Observables): https://github.com/ReactiveX/RxAndroid
- butterknife (activities & ui): http://jakewharton.github.io/butterknife/
- Material Design (UI ): https://www.google.com/design/spec/material-design/introduction.html
- ormLite (sql orm for android): http://ormlite.com/sqlite_java_android_orm.shtml
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
- Milestone (8th November)
- Analysis of previous solution
- Work planning according to the findings
- Milestone (22nd November)
- Milestone (4th December)
Group organization
- Source code
- dhis2msg organization on GitHub
- DHISmessenger repository forked from Niclas Halvorsen
- 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