Registry-Certs

Application Structure

This App is designed to process City of Boston requests of birth, death, marriage certificates, and marriage intention applications. The Birth, Death, and Marriage requests are paid requests that get processed through theStripe payment processing platform. Marriage Intention requests currently don't make use of our Stripe processing because at the moment their payments are being handled elsewhere. However, they share about 70-80% the same functionality as the other request types in the WebApp.

The entry point for the Registry Apps is pages/_app.tsx. This is a React.js app that uses the MobX library for state management. The entry point uses the *CertificateRequest classes as PageDependencies in each of the applications/request forms. These *CertificateRequest classes define the data fields and methods the application/forms will use. *CertificateRequests have a few key methods that serialize and the application state in the browser session among other things.

App Structure

  • Applicatiton Controller [pages/_app.tsx]

    • [client/store/]

      • BirthCertificateRequest(Class)

      • DeathCertificateRequest(Class)

      • MarriageCentificateRequest(Class)

      • MarriageIntentionRequest(Class)

Application Controller

The application controller exist a few methods to be aware of such as a routerlistener, screenreaderSupport, siteAnalytics, orderProvider, etc. These are general use methods that will be inherited in almost all child applications. Of these, siteAnalitics and orderProvider are the most important. siteAnalytics explains itself, however, orderProvider is used only by the certificate requests that use Stripe payment. orderProvider handles storing and manipulating the required order information like shipping address, credit card info, etc. within the sessionStorage. When the Application Controller is mounted, *CertificateRequests fields are merged with the field data from the orderProvider.

Last updated