WhereWeBreathe Planning
June 15th status of WhereWeBreathe design process:
This document is in progress; it needs:
- all the latest design decisions
- wireframes, etc copied in
- merging of the top and bottom docs, or cleaning up of the one with time estimates and replacing the top one with it
Time estimates:
- Setup & communication: 39h
- Site architecture and database design: 22h
- Template coding, form and graph implementation: 76h
- User login, security & privacy: 52h
WhereWeBreathe
Public Lab is collaborating on a project to enable people facing indoor formaldehyde air contamination to better understand the effects of exposure, exacerbating variables and potential mitigation techniques. Participants can advance and collectivize scientific knowledge of chronic formaldehyde exposure's effects by selectively sharing health and symptom information with others experiencing similar issues. The site will feature a series of questions related to exposure and symptoms, and site users will be able to tell their stories and exchange information with others, anonymously if they wish.
Tech stack
We are planning for a Node.js website with:
- express framework
- mongo database with Rails-like mongoose ORM (see https://github.com/publiclab/infragram-js for an example)
- user authentication
- Bootstrap interface with mobile (fluid) layout: http://getbootstrap.com
- graphs with d3 or flot (probably d3)
https://github.com/publiclab/wherewebreathe/issues
Web development phases
1. Setup & communication
- minimum viable product: what features the MVP has, wireframes of interface, details about current desired survey questions/data to go into the database
2. Site architecture and database design
- sitemap (insert here)
- survey: based on: https://github.com/publiclab/wherewebreathe/issues/4
- current survey draft can be found here: https://docs.google.com/forms/d/1BvjKvH5dUFNjhhDdA4NNtsTHiXgurjJN3-c72mcrvFM/viewform?usp=send_form
- MVC data models, futureproofing & planning for future possible PublicLab.org integration
- database scalablity and how we store answers to questions.
- possible anonymous aggregate database download formatting in both conventional csv/excel and custom plaintext for analysis in stata
3. Template coding, form and graph implementation
- Dashboard [need clarification]
- we may simply display questions on the "dashboard" - see https://github.com/publiclab/wherewebreathe/issues/1 and https://github.com/publiclab/wherewebreathe/issues/3
- question form [ connected to DB, 24-40h]
- UI/UX testing/review of question form
- this is something we can do somewhat informally, as the more serious UI/UX review could be after this beta project is launched, and could feed into Phase II revisions later.
- graph and narratives display [need more info]
- still ongoing in design phase, but https://github.com/publiclab/wherewebreathe/issues/8
- privacy settings page [need more info] https://github.com/publiclab/wherewebreathe/issues/2
Graph design
- likely d3, aggregate data serving and display for different question types
- privacy review [Need more info on what is specifically desired]
- ongoing design process: https://github.com/publiclab/wherewebreathe/issues/8
- [4-24 hours]
4. User login, security & privacy
- username & password creation & recovery
- security/privacy - both integration of security preferences into sign up, and the security of the database (mostly latter)
- UI/UX testing/review of registration
- run through the signup process and "new user experience" a few times with varying types of users
Beta production server setup
- we have VMs available via our hosting provider and a donation from Rackspace... mostly this will be meeting/communicating with Dogi our sysadmin and getting login credentials, installing packages etc.
- security/privacy audit if possible