JAS
JAS is a web app that lets pet owners register their pets and buy or renew municipal pet licenses online, backed by an admin panel for staff to manage license holders. The team built account registration, a license purchase and renewal flow with online payment, and an admin panel with a searchable contacts list, GIS address lookups, and sync with the city's existing MSSQL licensing database.
Technologies
Admin panel
Staff sign in to a separate admin panel, where an admin role controls who can manage other accounts. A paginated, filterable table lists every contact by name, address, or license number, and each contact's detail page shows their pets, licenses, and purchase history side by side. Admins can export reports to CSV and review a log of the background sync jobs.
Address lookup and MSSQL sync
Registration and renewal forms look up addresses against an imported GIS database, letting owners pick their exact house number and tying the match into license cost calculation. Behind the scenes, license and contact records — including phone numbers and license numbers — sync both ways with the city's existing MSSQL licensing database, with an import job that tracks upload progress and reports errors in the admin panel.
Highlights
The team moved payment processing off Stripe and fixed a handful of checkout issues that had built up.
- Payment processing switched from Stripe to Authorize.Net across the app and backend
- Fixed duplicate database entries from repeated «submit payment» clicks
- Fixed the checkout step indicator not displaying on iOS
- Payment type now shown correctly in admin reports
JAS VII
The application provides a convenient platform for online purchases of licenses for pets. Users can easily browse, select, and purchase licenses for their pets, ensuring compliance with local regulations. The application streamlines the licensing process, saving time and offering a seamless experience for pet owners
JAS
This release hardened the MSSQL sync and gave staff more visibility into it and into license holders' addresses.
- Reworked sync engine for reliability
- Sync activity log surfaced in the admin panel
- Duplicate-record fixes in the sync process
- Full address history added to the admin contact view
- License renewal could be toggled on or off in the app
JAS VI
The team connected JAS to the city's existing MSSQL licensing database, syncing records both ways.
- Two-way import/export sync between JAS and the MSSQL database
- Automatic license number assignment on import
- Phone numbers mapped and synced per contact
- License-number and address filters added to the admin contacts table
JAS V
This release connected the app to a GIS address database, so license costs could be tied to exact locations.
- Bulk GIS address database import in the admin panel, with upload progress and status tracking
- House-number lookup on the registration and renewal forms
- Address search and filtering added to the admin contacts table
- Address data wired into license cost calculation
JAS IV
A companion admin panel gave staff a way to manage license holders and their pets outside the customer-facing app.
- Admin sign-in with role-based access
- Filterable, paginated table of contacts (license holders)
- Contact detail view with pet, license, and purchase history
- CSV export of reports
JAS III
The next milestone added the core commerce flow: buying and renewing pet licenses online.
- License cost calculator based on the pet owner's registered address
- Shopping cart and checkout flow for new licenses
- Stripe payment integration for secure online payment
- Renewal flow for existing license holders
JAS II
The initial build gave pet owners a way to create an account and register their pets for a license application.
- Core layout and UI components built out first
- Account registration with email verification
- Add-pet form capturing breed, age, and other pet details
- Password reset flow