Virtual EOC

From Humanitarian FOSS Summer Institute 2009

Jump to: navigation, search
Developers Mentors
Eli Fox-Epstein (Wesleyan University) Trishan de Lanerolle
Dimitar Gochev (Trinity College) William Anderson(NYC-OEM)
Samuel DeFabbia-Kane(Wesleyan University)

Contents

Project Overview:

Virtual EOC is a rapidly developed prototype for a comprehensive volunteer organizations active in disaster (VOAD) communication system.

Project Details:

As a communication tool, Virtual EOC aims to facilitate inter- and intracommittee communication in case of a disaster. The system is centered around incidents (such as disasters) which have updates, intended to provide progress reports about the incident. Updates are submitted by users on behalf of committees; they have a description and may contain attached files. The system also provides a contact directory where users can be found based on their agencies and committees.

Weekly Check Points

Implementation:

Virtual EOC is a web-based application powered by Ruby on Rails. Database structure: image:db.png

Deliverables:

A functional web-application which allows users to register and get access to the list of incidents, the pertaining updates, and the contact list.

Users should be able to:

  • add updates to incidents
  • join committees
  • associate themselves with a single agency
  • view incidents, updates, contacts
  • manage their account.

Administrators should be able to:

  • add/remove incidents
  • add/remove updates
  • add/remove committees
  • add/remove agencies
  • add/remove users
  • etc.


First phase development:

Rapid prototyping of application and near-complete functionality.

Second phase development:

Plan for Week of the 29th

  • Unit testing
  • Every single view
  • ACLing
    • Nearly done (needs testing)
  • Begin styling if there's time
  • Develop header

Specification:

ACL

  • Models have -able? functions.
    • Available functions:
      • self.creatable?
      • creatable?
        • This case is required to ensure that users can only create updates pertaining to certain incidents, etc.
      • updatable?
      • viewable?
      • self.listable?
      • destroyable?
  • Controller syntax example:
    • return with_rejection unless GroupType.creatable?
    • return required to stop controller execution
    • with_rejection has the page redirect_to and display an error flash

Rails Tutorials

Rails Resources

  • Simple 15 Minute Tutorial on Ruby
  • Guides.RubyOnRails.org
    • We have used
      • Getting Started with Rails
      • Rails Database Migrations
      • Active Record Validations and Callbacks
      • Active Record Associations
      • Active Record Query Interface
      • Layouts and Rendering in Rails
      • Action View Form Helpers
      • Action Controller Overview
      • Rails Routing from the Outside In
      • Testing Rails Applications
Personal tools