Skip to content

Latest commit

 

History

History
 
 

web-app

Salad Web Application

The Salad Web Application is the primary UI that allows users to interact with Salad. The Salad Web Application is a Typescript build with React and MobX

Getting Started

To run the Web Application in development mode run

yarn start

Salad UI will now be available at http://localhost:3000/ and automatically refresh when any changes are detected. Debugging is available if you run via the included VSCode launch task Debug Web App.

While doing UI component development it is recommended to us Storybook.

yarn storybook

Storybook will now be available at http://localhost:9001/ and automatically refresh when any changes are detected.

Architecture

Each feature is broken into 2 (or more) separate modules, 1 for the UI components and 1 for the business logic and API integration.

State Management

Each feature has 1 or more MobX stores that is accessed by the RootStore, allowing each store to easily access other stores. Each UI component should be a "Pure Component" that simply render the state that is passed into them and eliminating any internal state within the component. A common exception for this rule are forms which keep state internal to the component while the user is filling in the form, and then calling the MobX store once the form has been submitted.

Frameworks and Libraries

  • React JS - A declarative, efficient, and flexible JavaScript library for building user interfaces.
  • MobX - Simple, scalable state management.
  • Axios - Promise based HTTP client for the browser and node.js
  • Storybook - Storybook is a development environment for UI components.
  • JSS - JSS is an authoring tool for CSS which allows you to use JavaScript to describe styles in a declarative, conflict-free and reusable way.
  • Typescript - A language for application-scale JavaScript.