Giter Site home page Giter Site logo

gsa-tts / atj-platform Goto Github PK

View Code? Open in Web Editor NEW
3.0 3.0 0.0 5.66 MB

Friendly court forms for self-represented litigants.

Home Page: https://federalist-16f2aca2-467c-449f-b725-5f1a0bd22dcd.sites.pages.cloud.gov/site/gsa-tts/atj-platform/

TypeScript 86.25% JavaScript 3.20% CSS 0.04% SCSS 0.70% Shell 1.62% Dockerfile 0.41% Astro 7.78%

atj-platform's People

Contributors

danielnaab avatar dependabot[bot] avatar jimmoffet avatar natashapl avatar

Stargazers

 avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Forkers

ethangardner

atj-platform's Issues

Form builder - display edit UI inline

Update the form builder UI to display the edit UI inline with the form previews rather than floating on the right.

Acceptance criteria:

  • Edit UI should be selected whenever an element within its pattern is selected (via tab or click), or the containing element is selected/clicked
  • Styled consistent with #79
  • Actions are rendered underneath the pattern's edit UI
  • Implement "insert copy immediately after", as mocked in #79

Definition of done

  • Storybook interaction tests implemented for all user behavior

Advocate role

As a legal aid worker, I would like to answer questions on behalf of a SRL, so I may more efficiently assist them.

Acceptance criteria:

  • An advocate role is created
  • A method of supporting an advocate in completely filling a form on behalf of a SRL is added
  • A method of authorizing an advocate to complete an in-progress interview is added, or handing off form completion

Pre and post-submission summaries

As a SRL, I would l like to see a summary of my completed information before I submit my multi-page form, so I can feel confident I entered the correct information.

Acceptance criteria:

  • A flow is demo'd and agreed to
  • The form builder interface is updated to support adding a summary page
  • Summary page is added as a new prompt type
  • Summary prompt UI is designed and implemented

Add document preview to form builder

As a content author, I would like to preview complete form packages consisting of one or more completed PDF documents, so I can efficiently edit my form definition while ensuring that target document field mappings and data formatting are behaving as expected.

Open questions:

  • Can we fit a document preview in a unified form builder interface, or should this be a separate function?
  • Do we want to assume, at this point in development, that all forms map to documents?

Acceptance criteria:

  • The content author may view auto-generated documents via the form builder

Save form progress

As a SRL, I would like to save my progress on a long form, so I may come back later and complete it when I have more time or all the necessary information.

Acceptance criteria:

  • Client-side only or URL-based solutions are considered
  • Login.gov identity provider added
  • A user session is introduced
  • A method of continuing a prior form is added to the interface

Field validation is implemented

To support the initial slice as part of #21, implement input validation.

Acceptance criteria:

  • A pattern for data validation is established
  • Required fields are implemented

Kansas name change - design spike

Explore the Kansas name change process and provide design guidance to team.

Example considerations:

  • CRUD for questions after PDF has been uploaded, including inline editing
  • Drag and drop to rearrange question order
  • CRUD sections
  • Lightweight FTUX
  • Accessibility

Tasks (ACs)

Address pattern

As a user, I would like address fields to be grouped together in a logical fashion, to clearly label related fields.

Acceptance criteria:

  • Address fields are auto-grouped, as is feasible, via document import
  • Address fields are logically grouped in the form builder interface
  • User-facing web form renders addresses using appropriate USWDS component and current guidance

UX Teardowns for [no-code form builder] products that share our current scope

Note: not focusing on pdf ingestion for now.

What: A couple of UX Teardowns of relevant products.

Why: Prior to actually testing with users, we want to avoid getting overly invested in UI decisions and we want to steal as many UX hours from other teams as we can.

Note: we have a couple of relatively-extensive teardowns of DocAssemble and ATJAuthor (no code docassemble)

Definition of done: 2(ish) well-annotated teardowns. Maybe JotForm (big scope), Google Forms (smaller scope). Build alabama name change in these two products, with notes and screenshots. Don't worry about anything that isn't strictly required to build that form. Don't worry too much about presentation, knowledge transfer is the key and it will happen while speaking over the accumulated notes/screenshots

Multi-page forms

As a content author, I would like to define form fields to be on separate pages, so the SRL can focus on a single piece of information at a time.

Acceptance criteria:

  • The form builder interface provides a method of grouping fields into page sections
  • The form presentation is updated to prompt via multiple pages
  • Next/back buttons are implemented
  • A table of contents for the complete form is provided

Kansas name change

As a content author, I would like to create a user-friendly Kansas name change form, so I can support SRLs.

The existing name change instructions and forms are available online.

Acceptance criteria

  • A content author has an intuitive path to creating a name change package from existing PDF forms
  • SRLs may complete a user-friendly form, leading to a downloadable form package

MVP court self-help structure and navigation

As a self-represented litigant / research participant, I would like to be guided through my interaction with my court by an authoritative and trustworthy source, so I may interact with my court with confidence.

This may involve:

  • Shell of self-help website (navigation, landing page, etc.)
  • Directory of guided interviews
  • Reasonable foundation to iterate off of

Add county selection form field

As a content author, I would like to prompt litigants with a drop-down of Alabama counties that have probate courts, so the user may notify the court of the location they would like to file with.

Acceptance criteria:

  • A field type that consists of Alabama counties exists
  • No-code interface renders field type properly
  • On form submission, input is validated

The list of counties does not need to be editable via the web interface.

Ensure PDF is generated at form submission

As an SRL, I would like to download completed forms after submitting my form, so I may file them with my court.

Acceptance criteria:

  • All documents on a form definition are download after form submission

Add field grouping to form definition

As legal content author, I would like to group fields into logical sections, so fields will be organized in a way the user understands.

Acceptance criteria

  • Sections have a heading
  • The form renders the section as visually distinct, such as a margin or inset
  • Form builder updated with ability to group

Style end-user form presentation

Design and implement the form presentation for #21. The Kansas mockups could be used as a source of ideas.

Acceptance criteria:

  • Form presented as attractive form (could use Kansas Figma mockups as inspiration)
  • Form follows accessibility best-practices
  • Form has appropriate coverage via stories and interaction tests

Support stand-alone web forms

As a content author, I would like to create a web-only form, so I may collect raw data rather than filled PDFs.

Acceptance criteria:

  • Form builder interface is updated, as appropriate, to support form definitions that are not backed by PDFs
  • A confirmation page shows all data collected

Create showcase form - child support

As a self-represented litigant / research subject, I would like to file family law forms concerning child support with my local court jurisdiction.

This might involve:

  • Domain research, including the form we will be guiding the litigant through
  • Fully-implemented guided interview, with appropriate abstractions in the form service built
  • Any necessary modifications to demo site navigation and design

Strategic goals (eg: test assumptions, create artifacts for user testing, develop partner relationships, etc):

  • Kick-start collaboration with potential partner
  • General wizard flow
  • Platform architecture exploration
  • Build team momentum with continuous delivery

Form builder - toast/alert/flash messages

Consistent with #79, implement pop-up informational messages.

Acceptance criteria:

  • Show messages on add pattern, delete pattern
  • Style with USWDS Alert component
  • Implement best-practice timeout, and document on this ticket (5 seconds + 1 second for each additional 120 words)
  • Implement WCAG guidance for notifications

Form builder - style sections

As designed in #79, style form sections.

Section states are defined here.

Acceptance criteria:

  • Styling consistent with #79 - @natashapl
  • Drag-and-drop reordering is implemented consistent with existing behavior (to be potentially revisited with upcoming design work) - @danielnaab
  • Empty state implemented - @natashapl
  • Section header is editable inline - @danielnaab

Definition of done:

  • Storybook interaction tests implemented for user behavior

Basic no-code form builder

As a content author, I would like to edit my guided interviews via an interface that doesn't require coding ability.

Decisions to make:

  • Level of complexity to tackle with the first iteration
  • How might we back into a CA interface for the forms we want to have ready in Feb/Mar?

Design form builder interface

As a guided interview author, I would like a simple interface to help me create a web form that is modeled on a fillable PDF.

In the near future, I would like to add extra questions, validations, and custom flow logic to my form, but I don't need that right now.

Acceptance criteria:

  • The interface must present a list of all fields/questions on the form
  • Field attributes may be edited inline within the field list: title, description (optional), placeholder text (optional), required/not-required
  • Fields may be reordered
  • Fields may be grouped into fieldsets, which has a heading text attribute
  • The interface must indicate, in some manner, which PDF field each web form field corresponds to
  • Storybook stories are created to represent relevant display states

Implementation notes:

  • The corresponding React component resides in packages/design/src/FormManager/FormEdit.

Form builder - step indicator

Implement a step indicator and drop-down menu that supports switching between different views of the form builder interface. This indicator should be styled consistent with #79, and include the following options:

  • Upload
  • Create
  • Configure
  • Publish

Acceptance criteria:

  • Styled consistent with #79
  • Menu items toggle to appropriate view (if it doesn't exist, stub it out)

Definition of done:

  • Storybook interaction tests for behavior

Design PDF field extraction interface

As a guided interview author, I would like a simple interface to import fields from a fillable PDF for my form definition.

Acceptance criteria:

  • Interface exists on a separate page, mounted to a URL route under the form builder
  • A method of uploading a local PDF file is provided
  • A method of quick-selecting a sample Alabama name change form is provided
  • Interface displays extracted field data from PDF
  • Interface provides a "cancel" and "import" button

Basic conditional flow

As a content author, I would like to ask SRLs a clarifying question, so I ask appropriate questions for their particular circumstance.

Acceptance criteria:

  • A method of conditionally displaying questions is implemented

Create web-based project overview / card on 10x.gsa.gov / whatever works

As a 10x project, we would like to share up-to-date information about our project, so we can keep key stakeholders informed and excited about our work.

  • Help people understand what we're doing
  • Get potential pilot partners excited

Tasks may include:

  • Web foundations
  • Initial content, navigation, and communication strategy

Create checkbox and radio button components

Create UI patterns and components for checkbox and radio buttons.

Acceptance criteria:

  • USWDS components are implemented as React components
  • Storybook stories for each component are added
  • Form manager edit UI supports new patterns

Definition of done:

  • Test coverage - Storybook interaction tests and unit tests, as appropriate

Create showcase form - Alabama name change form

As a self-represented litigant / research subject, I would like to file for a name change in the state of Alabama.

Acceptance criteria:

  • A no code interface exists to define a guided interview capable of completing the fillable PDF version of the Alabama name change form
  • An accessible web form with appropriate layout is generated from the guided interview definition
  • On submission, the end-user may download a completed Alabama name change form

These conditions apply:

  • No custom logic is required for this form. Each field in the web form will map 1-to-1 to a PDF field.
  • The entire web form should be presented on a single page.

Create showcase form - evictions

As a self-represented litigant / research subject, I would like to advocate for my interest after receiving an eviction notice, but filing with my court's self-help website.

This might involve:

  • Domain research, including the form we will be guiding the litigant through
  • Fully-implemented guided interview, with appropriate abstractions in the form service built
  • Any necessary modifications to demo site navigation and design

How does this user story help the team manage project risk? (eg: test assumptions, create artifacts for user testing, develop partner relationships, etc):

  • Kick-start collaboration with potential partner
  • General wizard flow
  • Platform architecture exploration
  • Build team momentum with continuous delivery

Content author test cases

As a content author, I would like to define a test specification for my interviews, so I may feel confident they behave at I intend without extensive manual testing.

Open questions:

  • What kind of guarantees would a content author be looking for?
  • What is an appropriate level of granularity for user-generated test specifications?
  • What would an assertion look like?
  • What kind of fixtures are required to set up a test case? Is mock user-entered data enough?

Acceptance criteria:

  • A "no code" interface to define test cases exists
  • Test scenarios may be run in-browser, with user-friendly pass/fail notifications
  • The main form builder interface communicates the pass/fail status of the form
  • Form test specs should not be dependent on form backend features (should work with multiple implementations)

Implement form builder design

Add date field

As a SRL, I would like to choose a date on my form in an intuitive and accessible manner, so I can provide a date quickly and with confidence.

Acceptance criteria:

  • A "date" field type may be assigned in the form builder
  • Date picker is presented in the form view
  • USWDS date pattern and other best practices followed

Smart field grouping

As a content author, I would like common fields that are often grouped together to be auto-grouped (such as address fields), so I don't need to manually group them.

Add ability to reorder fields in the form builder

As a content author, I would like to reorder fields in the form manager, so I may present them in an appropriate order.

Acceptance criteria:

  • Form fields may be reordered in the form manager by drag-and-drop
  • Form presentation honors the selected order

Multi-document packages

As a guided interview author, I would like to create interviews that produce complete legal packages, which will include multiple documents.

Acceptance criteria:

  • Mapping fields from multiple documents is added to the form builder interface
  • Form processing produces multiple documents in an archive or other suitable form

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.