This project was bootstrapped by Glamper
-
Clone the repo
-
Install dependencies
yarn install
- If you are using Sentry, add a
.env
in the root of the project, since this is currently the only need for a.env
file.
REACT_APP_SENTRY_DSN=...
If you are not planning on using Sentry, uninstall the sentry npm package yarn remove @sentry/browser
and remove the logic for initializing the SDK within the index.js
file.
- Start the server
yarn start
Folder | Purpose |
---|---|
services | Any third party or Server related code lives here. The Server folder handles all of the api calls made to the backend while the EpicMyChart folder covers any wrappers or code we use to interact with the MyChart SDK. |
constants | Any constants that the app winds up needing that aren’t sensitive |
global_styles | Font imports and css for global resets, code highlighting, and the notebook |
modules | A high level abstraction representing a series of screens, state, side effects, and components that encapsulate a general theme or purpose. A good example of this is profile , which contains all of the logic for the profile state and whatever screens or components largely lead to changes in said state. |
redux_setup | Root reducer, store setup, and root epic. |
shared | Anything that should be accessible by any component or side effect. Examples include error logging actions and colors , which are used across multiple screens. |
types | The source of truth for all typescript types. This folder will mostly mirror the above folder structure. |
Library | |
---|---|
Aphrodite | CSS in JS |
Jest | Efficient testing through snapshots |
Immer Reducer | Eliminates boilerplate through typesafe actions and immutable helpers from Immer |
React | Modular and extendable component based architecture |
Redux | Unidirectional state container |
React Router | Navigation through components |
Redux Thunk | Async side effect handling |
Redux Logger | Action and state logging |
Typescript | Supercharged js with developer friendly static type checking |