Scheduling app for Amani's social workers.
= Kituo
This is an internal application used by social workers at the Amani Children's
Home in Moshi, TZ. Its primary function is to schedule and keep track of home
visits.
amanikids.org
== Quick start
brew install imagemagick
brew install postgresql
bundle
rake .environment
rake db:setup
rake
== Roles
=== Social worker
There are about 5 social workers at Amani. They want to:
* Schedule home visits, either to try and arrange a reunification of a child
with their extended family, or to check up on such an arrangement. This
normally happens every month or so - see the RecommendedVisit model for
typical guidelines.
* Print a roll call sheet for all kids on site
=== Social work coordinator
Manages the social workers. Traditionally just one. They want to:
* Get an overview of how long kids are staying at Amani
* Assign kids to social workers
=== Development officer
Traditionally just one. They want to:
* Get an overview of how long kids are staying at Amani
* Upload headshots of the kids
== Design
* As this is an internal app, Firefox is the only browser that needs to be
supported.
* Authentication is not required - social workers often masquerade as others
when they are on leave - and there is no private data. The identification
page is for convenience and better usability (we can provide a home page that
is directly useful to the person).
* Average computer competence of users is low, so the UI is designed to be big
and friendly. Drag and drop is used liberally as it was the easiest for
social workers to use.
* Selenium tests cover all the functionality, including the JS drag-drop stuff
which is kind of neat.
* The app is localized to Swahili and English.
* African names typically aren't as strict as English ones. Spelling is quite
variable. To try and alleviate the problem of multiple case files for the
same person, an algorithm is used to suggest potential duplicates. Also,
having a photo of the kids visible is quite important in this reg …