Skip to content

Latest commit

 

History

History
21 lines (11 loc) · 2.29 KB

ROADMAP.md

File metadata and controls

21 lines (11 loc) · 2.29 KB

UI/UX

For now, all UI components and styles are hand-crafted. It's neither elegant nor robust, so experience suffers for example on mobile, or Safari. The idea is to use this format (with hand-written Sass extending HTML5 elements) for the time being, until a "proof-of-concept" milestone is reached and then transition to a UI kit/component library.

I'm looking at Blueprint—and haven't found a better alternative—since it has both a Select and a Slider component. These are components I figure we need, and it would be better than having something homespun with react-select and Rheostat, which are both more heavy-weight solutions than we really need. An alternative would be Material-UI, but 🤮 (sorry).

State management

Using local state for rapid prototyping right now, but I think that we should transition to Redux. Local state may still make sense for UI state, such as forms, etc.

Data fetching

Going to use Apollo for this, and specifically apollo-boost (which is a pre-configured, batteries-included wrapper around Apollo Client) and @apollo/react-hooks which is in beta! But it should be fine for what we're doing: consuming an external GraphQL endpoint.

Functional programming concepts

There have already been a couple times where I've wanted to bring in some heavy-weight FP solutions, but for now just sticking with the lodash/fp set of functions, which is easily accessible.

I think the first concept to introduce would be a Maybe type (something found in most modern programming languages as a way of avoiding null values, the billion-dollar mistake).

Down the line, I would be interested in trying to incrementally adopt a functional PL, such as Reason or PureScript, or just explore the benefits adding types with TypeScript. All these languages can live happily side-by-side with plain JavaScript so buy-in is not steep.