Difference between revisions of "Crappyengineering"

From mn/ifi/inf5750
Jump to: navigation, search
m (Summary of requirements)
m (Time schedule)
Line 58: Line 58:
  
 
== Time schedule ==
 
== Time schedule ==
 +
  -  4th of November: App running
 +
5 - 11th of November: Live preview
 +
12 - 18th of November: Posting to facebook/twitter
 +
19 - 25th of November: Extra features
 +
25 - 27th of November: Polishing/Tweaking
 +
27th of November: Delivery
  
 
== How we are dividing tasks within the group ==
 
== How we are dividing tasks within the group ==

Revision as of 22:06, 27 October 2016

Overview

Project C

Social integration with Facebook and Twitter using their respective APIs to share favourites of maps, charts and pivot-tables.

We will do this by making a Webapp

Group members

  • Christopher Bauge (chrisbau@mail.uio.no)
  • Fredrik Hov (freh@mail.uio.no)
  • Mathias Næss (mathiana@mail.uio.no)

Milestones

Create page - Check

Milestone 1: October 28 [Pending]

  • Document features and architecture on Wiki
  • Show understanding of your project task

Summary of requirements

  • Get app framework up and running
  • Pull data from API, for maps, charts and tables. HTML to canvas for easily shareable tables.
  • Implement share to Facebook and Twitter

Features and Architecture

The project has changed as of 26.10.2016, and no longer includes extending the core messaging function to handle attachments or embedded images.

Currently planned features:

  • Flash animations [not implemented]
  • Easy to use GUI [WIP]
    • Show available resources (type)
    • Show available items (defined by type)
    • Filter on Name [not implemented]
    • Dynamic preview of data (only charts/maps, not on mobile for now) [not implemented]

Optional wanted features:'

  • Change dynamic preview to grid + thumbnail [not implemented]
  • Filter by Country [not implemented]
  • Responsive design [not implemented]
  • Selection based settings configuration with a list of possible other data-objects that can be shared (double list, arrows choose item/all items active) [not implemented]


Architecture: The application will be built as an App available for install with the DHIS2 App management. After implementing a simple frame for the items to be contained in, we are looking at dividing the application into some main parts. One part should handle settings and preferably a linking option for facebook or twitter so that the user can disconnect their account from the service. If there is time,for implementing a selection based configuration for what items should be available to share.

We are mainly looking at using React to handle the application since the virtualDOM will allow us to take "cache" the different previews after the user has hovered the item, this will be especially useful if we are able to implement the grid based selection, as the grid would be our "root" for the virtualDom. We will be using HTML2Canvas for handling the translation of the pivot tables into images.

Short List of technologies/libraries(Subject to change)

  • React /
  • ES2015
  • HTML2Canvas
  • D2
  • D2-UI

Time schedule

  -  4th of November: App running
5 - 11th of November: Live preview

12 - 18th of November: Posting to facebook/twitter 19 - 25th of November: Extra features 25 - 27th of November: Polishing/Tweaking 27th of November: Delivery

How we are dividing tasks within the group

Screenshots and screen flows

Documented learning during project

Suggested improvements to the API

Link to repository

The repository can be found at dhis.crappyengineering.com

Download link to sample web app