Thummar Technologies
Company
Industries
Technologies
Resource
CFA eCat — Digitalizing the World's Largest Pedigreed Cat Registry

HOME - case studies - cfa ecat association management platform

circle
circle
CFA eCat — Digitalizing the World's Largest Pedigreed Cat Registry
cover
Industry
Industry

Non-Profit / Animal Registry

Region
Region

United States

Project Type
Project Type

Dual-Portal Enterprise Web App

Timeline
Timeline

18 Months

Team Size
Team Size

5 Engineers

Platforms
Platforms

Web (Angular + ASP.NET Core)

Client Overview

The Cat Fanciers' Association (CFA) is the world's largest registry of pedigreed cats — founded in 1906 and operating for over a century as the definitive authority on feline breed standards, show judging, and breeder certification in the United States and internationally. CFA governs more than 600 affiliated clubs worldwide, maintains the official breed registry for 45+ recognized breeds, licenses and certifies hundreds of judges across three independent certification tracks, and administers a national clerk certification program spanning first-year clerks through Master Clerk Instructors.

CFA's operations touch every dimension of the pedigreed cat world: breed genetics and color classification, annual show season administration, club officer elections and dues management, judge and clerk fee tracking, member self-service, and financial reconciliation across multiple payment providers. For an organization of this breadth and heritage — with member records, certification histories, and breed registrations spanning decades — modernizing the operational platform without losing institutional knowledge was both urgent and complex.

Challenges & Problem Statement

CFA's legacy software had accumulated decades of operational workarounds, siloed data, and manual processes that were limiting the organization's ability to serve its global membership efficiently:

  • Fragmented member and certification data: Judge certifications, clerk certification history, club officer records, and member contact details lived in separate systems with no unified person identity across them. A single individual who was simultaneously a breeder, a certified judge, a club officer, and a master clerk instructor had no single authoritative record in the legacy system.
  • Manual breed registry maintenance: CFA's breed catalog — covering breed codes, color codes, allele definitions, phenotype records, cross-breed compatibility rules, and body condition scores — was maintained through manual processes that were error-prone and difficult to audit. Any change to breed standards had to propagate across multiple disconnected records.
  • No self-service for members: Members, judges, and club officers had to contact CFA staff for routine tasks — checking certification status, updating contact information, reviewing fee history, or accessing club data. Staff time was consumed by queries that a member portal could handle automatically.
  • Disjointed financial tracking: Judge fees, clerk fees, club dues, and member invoices were tracked in separate systems with no unified invoice structure. Reconciling payments across Authorize.NET, PayPal, and manual entries was a manual, error-prone process.
  • Show season administration without tooling: Managing show types, breed classifications, and show season assignments was done without dedicated software, creating inconsistencies between what the registry recorded and what shows actually ran.
  • Security and access control gaps: Different staff roles needed different levels of access to sensitive member data, certification records, and financial information — but the legacy system had no granular role-based access model. Administrative staff and read-only users effectively had the same access.
Project Overview

TTPL designed and delivered the CFA eCat System — a full-stack dual-portal association management platform live at cosystem.cfa.org. The solution comprises two independent Angular 14 web applications — the CFA Admin Web (internal staff portal) and the CFA eCat Web (member-facing portal) — backed by a shared ASP.NET Core REST API, a CFA.Core library layer (Features, Services, Data Access), and a SQL Server database.

The platform manages every operational domain of the world's largest pedigreed cat registry: a comprehensive breed and genetics registry with 45+ breeds and full allele/phenotype modeling; three-track judge certification management; a multi-tier clerk certification program; 600+ affiliated club management with officer assignments and dues tracking; show season administration; a multi-method financial system with Authorize.NET and PayPal; and a role-aware navigation permission model with Twilio SMS two-factor authentication.

Approach

TTPL approached the CFA eCat System as a domain-first project. Before designing any screens or API endpoints, the team mapped CFA's operational model in depth — interviewing stakeholders to understand how breed codes relate to color classes, how judge certification tracks work independently, how a single person can be simultaneously a customer, a judge, and a club officer, and how the financial system had to bridge across certification fees, club dues, and member invoices. This domain analysis informed every major architectural decision.

The dual-portal architecture was designed around a single shared CFA.Core library containing the domain model, feature business logic, data access, and all services — with CFA.Api as a thin transport layer. Both Angular applications consume the same API surface; their differences are entirely at the UX, navigation, and route guard level. Separate email service implementations (Mail and MailAdminPortal) give each portal its own notification templates without coupling the communication flows.

The Core Feature layer organises business logic into domain-specific modules — Clerk, Judge, NavigationMenu, Payment, PersonEmail, SecurityRole, User, UserManager — each independently encapsulating its rules and data access. A Cache service layer improves performance for high-frequency read operations (breed lists, color codes, navigation menus). An Encryption service protects sensitive member data at rest.

Security was treated as a configuration concern, not a code concern. SecurityRole assignments, NavigationMenu permissions, password expiry policies, and Twilio OTP settings are all managed through AppConfiguration records — giving CFA administrators the ability to adjust security parameters through the admin panel without involving developers.

Solution Delivered
Comprehensive Breed & Genetics Registry

The breed registry encodes CFA's full genetic and phenotypic taxonomy: breeds, breed groups, breed codes, breed colors, allele definitions, phenotype records, color classes, eye colors, cross-breed compatibility rules (BreedCodeCross), and breed code exceptions (BreedCodeException). Body Condition Scores (BCS) track objective health and conformation standards per color class. Every entity is fully CRUD-manageable through the admin portal, with changes instantly reflected across all dependent views — eliminating the manual propagation errors that plagued the legacy system. Show administration is layered on top: show types, show seasons, cat classes, cat class master types, and show breed classifications connect the registry directly to the show floor.

Multi-Role Person Identity Model

Every individual in the CFA ecosystem is represented as a single Person record — with PersonRole assignments determining which operational contexts are active for them. A person can simultaneously be a Customer (member), a certified Judge, a certified Clerk, a Club Officer, and an Employee, each role governed by independent permission and data rules. PersonAddress, PersonEmail, and associated contact entities are managed at the Person level and shared across all role contexts. This unified identity model eliminated the duplicate and conflicting records that accumulated in the legacy system, and ensures that any update to a person's contact details propagates instantly to all their associated role contexts.

Judge Certification Management — Three Independent Tracks

Judge profiles track three independent certification tracks — Allbreed (AB), LongHair (LH), and ShortHair (SH) — each with its own status, acceptance date, and active flag managed through JudgeStatus records. Judge fees are tracked per event and payment cycle through JudgeFees, with full fee history and payment recording accessible to staff from the judge profile. The admin portal supports the complete certification lifecycle: judge type assignment, status transitions, historical fee lookup, and payment confirmation — giving CFA staff a single authoritative view of every licensed judge in the system, replacing the manual spreadsheet and email processes previously used to manage judge credentials.

Multi-Tier Clerk Certification Program

The clerk certification program tracks the complete progression from first-year clerk through Certified Clerk, Master Clerk, and Master Clerk Instructor — each milestone with its own certification date recorded in ClerkStatus. Clerk school enrollment (ClerkSchool, ClerkSchoolStudent) and test completions (ClerkTest) are tracked as linked entities with full history. Annual ClerkFee payments are recorded and auditable, and the system tracks the year clerking began and the most recent fee payment date — enabling staff to audit compliance with annual re-certification requirements and flag lapsed certifications without manual calendar tracking.

Club & Regional Management — 600+ Clubs Worldwide

Each affiliated club has a full management profile: club number, name, application and acceptance dates, primary and alternate regional assignments, website, breed specialties, and visibility settings controlling public website appearance. Six elected officer roles — President, Vice President, Secretary, Treasurer, Delegate, and Proxy — are linked to registered CFA members with term tracking. ClubDues records track payment status via IsPaidThrough dates. Membership list receipt dates, annual ballot dates, and delegate records are managed per club. RegionGeoLocation entities provide geographic boundary data for regional assignment. ClubListConfig controls which clubs appear on public listing pages and under what conditions, giving CFA staff granular control over public visibility.

Multi-Method Financial System with Authorize.NET and PayPal

The financial module handles the full payment lifecycle across all CFA fee types. Invoices are structured as InvoiceHeader/InvoiceDetail/InvoiceItem records supporting line-item billing across any service or fee type — certification fees, club dues, show entries, and Ohio sale transactions (managed through a dedicated invoice-ohioSale module). Real-time credit card processing runs through a CreditCardService (Authorize.NET) and a PaypalService, both abstracted behind payment interfaces in the Core layer with independent error handling and transaction state management. PaymentType and Payment records provide a unified ledger across all payment methods. Judge and clerk fee payments (JudgeFees, ClerkFee) are tracked as linked entities with dedicated views in the admin portal.

Role-Based Navigation Permissions and Twilio Two-Factor Authentication

Navigation access across both portals is governed by the SecurityRole system — every menu item can be individually enabled or disabled per role through SecurityRoleNavigationMenu assignments, manageable from the admin panel without code changes. Role assignments (SecurityRoleEmployee) link staff users to their permission scope. Authentication uses JWT access tokens (60-minute expiry) with 7-day refresh token rotation managed by a dedicated RefreshToken service. Two-factor authentication via Twilio SMS OTP is enforced at login, with OTP expiration windows configurable through AppConfiguration. Password expiry, reset token TTL, and onboarding flow parameters are all AppConfiguration-driven — giving CFA administrators full control over security settings without developer involvement.

Email Notification System with Dual Templates and In-Platform Data Migration

Two independent email service implementations — Mail (eCat member portal) and MailAdminPortal (admin staff portal) — provide context-appropriate notification templates for member-facing communications and internal staff alerts respectively. EmailNotice records allow administrators to configure and preview notification content without editing code. An UpdatingNotes system provides cross-entity audit notes — recording changes, remarks, and manual updates against any entity in the system with user attribution and timestamps. A DataMigration controller built into the API enabled controlled, auditable bulk migration of CFA's legacy member records, certification histories, breed registry data, and club records directly into the new schema during the transition — with full logging of migration outcomes.

Result

The CFA eCat System is live at cosystem.cfa.org — serving the Cat Fanciers' Association's staff, members, judges, clerks, and club officers through a unified digital platform. CFA's entire breed and genetics registry — 45+ breeds, hundreds of color codes, allele definitions, and phenotype records — is now managed through a single, auditable system. Judge certifications across three tracks and the full multi-tier clerk certification program are tracked with complete history, replacing manual spreadsheets and disconnected records.

600+ affiliated clubs worldwide have structured profiles with officer assignments, dues tracking, and regional mapping — all accessible to staff from a single view. Members self-serve through the eCat portal for contact management, certification status checks, and fee history — reducing routine staff query volume. Payments flow through Authorize.NET and PayPal into a unified invoice ledger with full reconciliation. Twilio 2FA and role-based navigation permissions protect sensitive data at every access level. The platform consolidates what were previously fragmented legacy systems into a single, maintainable, extensible digital backbone for the world's oldest and largest pedigreed cat registry.

Client Benefits
Unified Person Identity Across All Roles

A single Person record with PersonRole assignments eliminates duplicate and conflicting member records — one source of truth for every breeder, judge, clerk, club officer, and employee in the CFA ecosystem.

Complete Breed & Genetics Registry Under One System

Breeds, color codes, alleles, phenotypes, BCS scores, cross-breed rules, and show classifications are all managed through the admin portal — eliminating manual propagation errors and giving staff an auditable, consistent registry.

Automated Judge & Clerk Certification Tracking

Three-track judge certification and the full multi-tier clerk progression are tracked with complete history — certification dates, fee payments, school enrollments, and test completions — replacing manual tracking with a single authoritative record.

600+ Clubs Managed in One Platform

Every affiliated club has a structured profile with officer assignments, dues status, ballot dates, membership list receipts, and visibility settings — giving CFA staff live visibility into the global club network.

Unified Invoice Ledger Across Authorize.NET and PayPal

All fees — judge, clerk, club dues, show entries, Ohio sales — flow into a single invoice structure with real-time payment processing and a unified reconciliation view, replacing the fragmented financial tracking of the legacy system.

Admin-Controlled Security Without Developer Involvement

Navigation permissions, password policies, Twilio OTP expiration, and onboarding flow parameters are all AppConfiguration-driven — giving CFA administrators full control over security settings through the admin panel without requiring code deployments.

Client Feedback

"The CFA eCat system finally gave us one place to see everything — breed records, judge certifications, clerk history, club officers, and payments. Our staff no longer spend time fielding basic queries from judges and club officers because members can look that up themselves. TTPL understood how complex our domain is and built something that actually reflects how we work."
- Elizabeth M. Hartwell, Director of Operations, Cat Fanciers' Association

Technologies Used
Angular
Angular
ASP.NET Core
ASP.NET Core
SQL Server
SQL Server
TypeScript
TypeScript
Twilio
Twilio
Authorize.NET
Authorize.NET
PayPal
PayPal
bg

We run all Kinds of IT Services that vow your Success

THUMMAR TECHNOLOGIES
icon
TRUSTED BY CLIENTS IN 8+ COUNTRIES
icon
ENGINEERING EXCELLENCE
icon
DIGITAL TRANSFORMATION PARTNER
icon
FUTURE-READY SOLUTIONS
icon
GLOBAL SOFTWARE DEVELOPMENT COMPANY
icon
YOUR SUCCESS IS OUR MISSION
icon
50+ PROJECTS DELIVERED GLOBALLY
icon
ON-TIME. ON-BUDGET. ON-POINT.
icon
WHERE VISION MEETS EXECUTION
icon
BUILDING TECHNOLOGY THAT EMPOWERS BUSINESS
icon
THUMMAR TECHNOLOGIES
icon
TRUSTED BY CLIENTS IN 8+ COUNTRIES
icon
ENGINEERING EXCELLENCE
icon
DIGITAL TRANSFORMATION PARTNER
icon
FUTURE-READY SOLUTIONS
icon
GLOBAL SOFTWARE DEVELOPMENT COMPANY
icon
YOUR SUCCESS IS OUR MISSION
icon
50+ PROJECTS DELIVERED GLOBALLY
icon
ON-TIME. ON-BUDGET. ON-POINT.
icon
WHERE VISION MEETS EXECUTION
icon
BUILDING TECHNOLOGY THAT EMPOWERS BUSINESS
icon
flag

Ahmedabad, India

call
inquiry@thummartechnologies.com
Message
+91 9725497682
location
2/3/A Samruddhi Complex, Near Saspan Cross Road, Nikol, Ahmedabad - 382350

© 2026 Thummar Technologies. All rights reserved.

LinkedInX (Twitter)FacebookInstagram
CFA eCat Association Management Platform Case Study | TTPL | Thummar Technologies