Virtual EOC
From Humanitarian FOSS Summer Institute 2009
| 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
- Presentation 1
- Presentation 2
- Presentation 3
- Presentation 4
- Presentation 6
- Presentation 7
- Presentation 8
- Final Presentation
Implementation:
Virtual EOC is a web-based application powered by Ruby on Rails.
Database structure:
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?
- Available functions:
- 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
- We have used

