Documenta! mobile app

A simple mobile app to help altLab members document their projects on the lab.

Team

  • Pedro Ângelo
  • you

Status

Done:

  • basic app structure
  • login screen
  • remote file access over WebDAV with HTTP Basic Auth.

Current work:

  • data models
  • finish the login user stories

User stories

Login

User opens the application and uses the login screen to input his/her access credentials and log in to the server.

Save login details

In the login screen, the user can choose to cache his/her access creedntials to login automatically the next time the app is used.

Dashboard

After logging in to the application, the user is presented with a dashboard screen with an introductory text (ususally his/her personal info) and a list of his projects.

Edit introductory text

The user can click a button on the dashboard to edit his/her introductory text

Add new project

From the dashboard, the user can add a new project directly.

Edit project

On this screen the user can directly edit the project documentation.

Quick actions

From the dashboard the user can directly add snippets of documentation and images to a project (to be organized later).

Other feature ideas

  • Tablet and browser web app versions
  • Download a zipped backup of all files
  • Project documentation templates

Implementation

The app is implemented in HTML, CSS and Javascript using the Apache Cordova framework to access native device features. My current focus is building an Android app, but Cordova can be used to build iOS, Windows Phone and Firefox OS apps with a simple recompile.

The data for the application exists as a set of JSON and Markdown files that are accessed over WebDAV.

Tools used:

Future implementation ideas

  • Rebuild app using Riot
  • Remove Backbone
  • Implement a Service Worker for offline use

Source code

http://github.com/altlab/documenta-mobile

licensed under the GPL v3

Help needed

  • Testers
  • UI/UX designers
  • Web developers

You don't need to be a pro, you just need to be willing to learn new stuff :)