/RescueGroups.org-Medical-Intake-Form

Created for Nine Lives Foundation. Captures intake information convenient for our veterinarian. Includes some extra fields that are not part of RescueGroup's database.

Primary LanguageJavaScriptApache License 2.0Apache-2.0

RescueGroups.org Medical Intake Form

Created for Nine Lives Foundation. Captures intake information convenient for our veterinarian.

This project was an excellent application of AngularJS and supporting technologies. It illustrates the use of the following:

  • AngularJS
  • Querying JSON-over-HTTP APIs using Angular's $http service
  • Use of Bootstrap for look and feel, navigation, and mobile form factor support
  • Use of Angular Bootstrap for form controls
  • Separation of concerns using MVC architecture
  • Use of bower as a package manager
  • Use of Angular Growl for notifications
  • Use of Angular Cookie for cookie expiration
  • Use of Angular UI Router for state-based routing and authentication enforcement
  • Use of promises for asynchronous queries
  • How to create and inject Angular constants, services and factories
  • Use of Github Pages for hosting a pure Javascript/CSS/HTML application
  • How to use the excellent RescueGroups.org animal shelter management API

In the process, I came up to speed on best practices for these technologies:

  • Using Bootstrap's grid layout and glyphicons
  • Using Bootstrap's required fields feature
  • Using these Angular Bootstrap's directives: Tooltips, Alerts, Typeahead
  • Using the right patterns for the select tag and ng-options
  • How to use Angular's $filter service in controller code
  • How to create my own form validators
  • How to reduce the burden of many injected services by creating my own injector container
  • How to use base64 encoding and decoding to obfuscate certain fields
  • How to adapt the RescueGroups.org PHP examples to Angular