Skip to content

UI build process #266

@ericbuckley

Description

@ericbuckley

Summary

Update the repo to house future UI components, build those components for both development and release workflows and add documentation to the README on how it will function.

Acceptance Criteria

  • Implement a NextJS App that integrates uswds and react-uswds components.
  • Integrate the build and hosting of the application in the current build process and FastAPI setup.
  • Update the README.

Details / Tasks

  1. Implement a NextJS application that integrates USWDS and Trussworks/react-uswds components.
  2. Update repo structure to contain both solutions: the algorithm (which includes the API layer) and a NextJS application to support a user interface.
  3. Update the Dockerfile to include the build step of the NextJS application. This will later be modified by @ericbuckley to further refactor the code into a multi-stage process.
  4. Update FastAPI setup to host the NextJS application as a static solution.
  5. Update current endpoint routes to use the /api prefix, as well as, any imports and references to them across the repo.
  6. Update the local_server.sh script to allow the start of the API with an automatic build of the SPA (friendly for python focused development).
  7. Implement a dummy second page in the SPA and integration with the record linker API to ensure full integration when the SPA is hosted by FastAPI.
  8. Update the README with the instructions on how to run the NextJS app in local.## Background / ContextProvide any additional context, background information, or references that might be useful for understanding the issue.

Dependencies

None

Testing Considerations

-- will update later --

Related Issues/PRs

  • Link to related issues or pull requests if applicable.

Notes / Comments

At this moment the NextJS application has been deemed as a temporary solution which only purpose is to provide a mean to implement a demo site for the showroom. This implementation will be very bare bones, meaning that the setup for unit testing, auto formatting, lint checks, e2e testing or integration with Github pipelines checks will be skipped. The application will also be configured to build as a static asset that will be hosted by FastAPI.

Also at this time the dependency tree will not be optimized to resolve warnings at build time.

Metadata

Metadata

Labels

automationAutomation of processesuiNew UI feature

Type

No fields configured for Task.

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions