Packages and stack

Context and Problem

Define initial package structure in Monorepo. Meet the following requirements:

  • Integrates an automated design workflow design changes can be implemented easily and gracefully
  • Is flexible I can create a variety of common application scenarios using the existing packages
  • Is efficiently documented It is easy to understand how the packages work together
  • Is well tested and easily testable I can make changes with confidence
  • Has a low maintenance cost I want to minimize dependencies, try to keep the repo as focused as possible (this deserves more thought)

Considered Options

Resulting architecture is based on:

  • Open-source examples (Svelte, serverless framework, JAM Stack, arc42, …)
  • Experience from personal projects (GraphQL, Svelte, AWS, serverless framework, testing, UI Design)
  • Current client work (Node, GraphQL, Vue, testing)
  • Experience from previous client work (WordPress, React, JSON Schemas, AWS, Design Systems)

TODO : Add links

Decision

Initial package structure:

  • api API code
  • client frontend application structure
  • components frontend component library
  • design design tokens and other relevant design resources
  • doc architectural decisions and other doc-worthy information
  • resources backend resources (database, auth, storage, etc)
  • utils common utilities