iot-ux-baseline/public
Vishwam Subramanyam 3dae340e04
[RFC] Enable decentralized routing and react hooks (#17)
This PR introduces a new project structure that helps maintain separation between the different experiences in baseline (e.g., Shell, Homepage) so people can start writing experiences without modifying the framework-level code.

## Folder Structure
- `public/`: 
    
    Contains the HTML file and public assets that need to exist outside the module system. See the section about [the public folder](https://facebook.github.io/create-react-app/docs/using-the-public-folder) for more information.

- `src/`: 

    You may create subdirectories inside src. For faster rebuilds, only files inside src are processed by Webpack. **You need to put any JS and CSS files inside `src`**, otherwise Webpack won’t see them.

    - `index.tsx`: This is the main javascript entry point. It initializes the base libraries (React, React Router, I18Next) and renders the `Shell`.

    - `shell/`: This folder contains all the components required to render the application's Shell (e.g., Masthead, Global Navigation, Workspace...). 

        - `navigation.tsx`: Contains all the components that should be injected into the global navigation.

        - `routes.tsx`: Contains all the `Route`s that should be rendered in the shell `workspace`. 
    
    - `areas/home/`, `areas/examples/`: These folders contain the application's own experiences. In general, an  application will have multiple feature areas (e.g., Homepage, Settings) - probably mapping to the different entry points in the global navigation - that should be loaded as separate javascript bundles. The `examples` feature area, for instance, pulls in several large components to render lists and date-time pickers that are not necessary to render the `home` feature, so we should not fetch and load them until they're needed.

## Other changes

- Update to React 16.8 to enable [Hooks](https://reactjs.org/docs/hooks-intro.html)!
- Update to latest i18next to get the `useTranslation` hook and avoid creating higher-order components.
2019-02-13 16:28:44 -08:00
..
favicon.ico initial commit of create-react-app output 2018-11-16 18:09:27 -08:00
index.html [RFC] Enable decentralized routing and react hooks (#17) 2019-02-13 16:28:44 -08:00
manifest.json initial commit of create-react-app output 2018-11-16 18:09:27 -08:00