School PayIt Platform

Touchtap needed a partner to craft a complex and robust web application and mobile API to empower school administrators, parents and students to engage in ways not possible before.

The Challenge

Touchtap needed to design, implement and launch mobile applications on two platforms, a mobile API, a marketing site, and the entire web platform in less than 90 days.

Our Solution

We created a Rails 5 API, a Rails 5 web application, supporting documentation and acceptance testing of the entire platform.

Powerful Web Application

We knew immediately that user experience and a simple, understandable web app would be key to a successful launch and adoption rate. School administrators will be rushed to manage an entire student body, manage an event calendar, perform bookkeeping tasks and engage with parents.

Ensuring that all parts of the web application are self explained, with clear instructions and several "wizard" like processes ensure that even the most non-technical public school veteran can adapt and enjoy this new management application.

Financials

A large part of the SPI goal is to eliminate the need for cash and check when paying school fees or signing permission slips for events and field trips. To achieve that goal, we had to accept payments in-app from a variety of payment sources, such as credit or debit cards, and even ACH bank transfers.

Schools can designate and route incoming funds to linked bank accounts for deposits, denote if the parent or the school will pay for SPI processing fees, view a comprehensive double-entry accounting ledger for each bank account, export transactions as a spreadsheet and print right from the browser.

Book keepers and school administrators should never be left wondering the status of a payment, refund, fee, or bank transfer, with full transparency on funds availability, linked ledger entries, and more.

Mobile API and Shared Rails Engine

In order to ensure a robust web application and mobile API, the codebase was created in 3 distinct units from the beginning: a shared "engine" of all applicable service and database logic, the API, and the web application.

Separating into 3 codebases allows us to have a very high test coverage on the shared codebase, a lightweight and well tested API that is tuned for high concurrency on production, and a web application that can ignore any API code and be tuned for high throughput.

Conceptually the codebases are distinct and have a clear role. Our test suite provides utilities to make testing in the API and web codebases simpler and keeps the Continuous Testing as quick as possible in each deployable codebase.

Organization was Key

With a tight deadline and a team of 6 working asynchronously across 3 timezones to design, develop and launch an entire web and mobile platform in less than 90 days, we had to be organized.

We tracked over 450 user stories for the web application alone, across 25 deliverable milestones, 2300+ commits on 3 web codebases and over 1300 tests including Javascript integration testing.

Utilizing Google Hangouts, Slack, and TeamWork we managed to stay connected and deliver a large, well tested product platform on schedule within 2% of the budget and scope. This has allowed us to continue to support and explore new features for School PayIt post launch, building a long term relationship to best maintain the launch momentum.