In this project I use:
- React
- [Material-ui] (http://www.material-ui.com/#/) Google Material Design for React
- [Leaflet] (http://leafletjs.com/) for building interactive map
- [Google Map API] (https://developers.google.com/maps/documentation/javascript/?hl=fr) for access Google Places API
- Babel v6 to transpile ES6+
- Webpack for bundling
- Webpack-dev-server for serving
- babel-preset-react-hmre (react-hot-reload for babel v6 - thanks to react-transform-hmr)
- Redux for state management
- Redux-Promise
- Redux-Logger for logging Redux store
- Redux Dev Tools please watch Dan Abramov about Time Travel at React-Europe
- style-loader, css-loader
- styled-components for writting actual CSS code to style your components, same author as CSS-Modules
- Flexbox
- Mocha / Chai Test framework / Assertion Library
- Enzyme Testing utilities for React from Airbnb, a wrapper of React Addons Test Utils
- Jsdom A JavaScript implementation of the WHATWG DOM and HTML standards, for use with node.js
- Eslint (with eslint-config-airbnb)
- Flow for adding static typing to JavaScript
Some of the features above at the time of developement are experimental and so I don't separate DEV or PROD mode. Some implementation could be done in Angular and d3.
####Install
It is preferable to have Yarn installed. To install the web app dependencies:
git clone https://github.com/trungutt/map-country.git
cd map-country
npm install
or
yarn
####Run
Use
npm run start
or
yarn start
The project is on http://localhost:8080/
####Test
Use
npm run test
or
yarn test
####Eslint
Use
npm run lint
or
yarn lint
####Typecheck
Use
npm run typecheck
or
yarn typecheck