This repository was archived by the owner on Feb 4, 2025. It is now read-only.
This repository was archived by the owner on Feb 4, 2025. It is now read-only.
The Great Client Rewrite #424
Open
Description
The current client contains a lot of haphazard handling of various things (styling and API errors to name a few). It was decided to do a full rewrite of the client so it is more maintainable and has more idiomatic React (w.r.t. dataflow).
Rewrite goals:
- TypeScript from the beginning
- theme-ui
- Custom Webpack config so we don't need to fight preact-cli
- Hooks for all interactions with API (using swr)
- react-router v6 for proper state associated with history entries
- All data (such as tokens) have a source of truth somewhere within React (Context)
- Split components into presentation components (no logic) and functional components (only logic) for ease of testing
- Use Storybook for developing UI components + Jest snapshot testing (probably via StoryShots?)