Project source can be downloaded from: https://github.com/rscarlisle/react-redux-video-course-administration.git
Randall Carlisle
All other bugs and fixes can be sent to randy@pd-quick.com
Reported bugs and fixes will be submitted for correction
.:
License
README.md
./api
./app
./typings
./api
./api/products/products.json
-
Required operating system - OSX
-
Fork/clone project to local system
-
cd into project folder
-
[run] npm start
-
in browser, [enter] http://localhost:8080
-
quick-start login: new-user & password123
Basic description of project...
A comprehensive collection of technologies, offering a rich development experience:
Tech | Description | Learn More |
---|---|---|
React | Fast, composable client-side components. | Pluralsight Course |
Redux | Enforces unidirectional data flows and immutable, hot reloadable store. Supports time-travel debugging. Lean alternative to Facebook's Flux. | Getting Started with Redux, Building React Applications with Idiomatic Redux, Pluralsight Course |
React Router | A complete routing library for React | Pluralsight Course |
Babel | Compiles ES6 to ES5. Enjoy the new version of JavaScript today. | ES6 REPL, ES6 vs ES5, ES6 Katas, Pluralsight course |
Webpack | Bundles npm packages and our JS into a single file. Includes hot reloading via react-transform-hmr. | Quick Webpack How-to Pluralsight Course |
Browsersync | Lightweight development HTTP server that supports synchronized testing and debugging on multiple devices. | Intro vid |
Jest | Automated tests with built-in expect assertions and Enzyme for DOM testing without a browser using Node. | Pluralsight Course |
TrackJS | JavaScript error tracking. | Free trial |
ESLint | Lint JS. Reports syntax and style issues. Using eslint-plugin-react for additional React specific linting rules. | |
SASS | Compiled CSS styles with variables, functions, and more. | Pluralsight Course |
PostCSS | Transform styles with JS plugins. Used to autoprefix CSS | |
Editor Config | Enforce consistent editor settings (spaces vs tabs, etc). | IDE Plugins |
npm Scripts | Glues all this together in a handy automated build. | Pluralsight course, Why not Gulp? |
Dependency | Use |
---|---|
babel-polyfill | Polyfill for Babel features that cannot be transpiled |
bootstrap | CSS Framework |
jquery | Only used to support toastr |
react | React library |
react-dom | React library for DOM rendering |
react-redux | Redux library for connecting React components to Redux |
react-router | React library for routing |
react-router-redux | Keep React Router in sync with Redux application state |
redux | Library for unidirectional data flows |
redux-thunk | Async redux library |
toastr | Display messages to the user |
Dependency | Use |
---|---|
babel-cli | Babel Command line interface |
babel-core | Babel Core for transpiling the new JavaScript to old |
babel-loader | Adds Babel support to Webpack |
babel-plugin-react-display-name | Add displayName to React.createClass calls |
babel-preset-es2015 | Babel preset for ES2015 |
babel-preset-react | Add JSX support to Babel |
babel-preset-react-hmre | Hot reloading preset for Babel |
babel-register | Register Babel to transpile our Mocha tests |
cheerio | Supports querying DOM with jQuery like syntax - Useful in testing and build process for HTML manipulation |
colors | Adds color support to terminal |
compression | Add gzip support to Express |
cross-env | Cross-environment friendly way to handle environment variables |
css-loader | Add CSS support to Webpack |
enzyme | Simplified JavaScript Testing utilities for React |
eslint | Lints JavaScript |
eslint-plugin-import | Advanced linting of ES6 imports |
eslint-plugin-react | Adds additional React-related rules to ESLint |
eslint-watch | Add watch functionality to ESLint |
eventsource-polyfill | Polyfill to support hot reloading in IE |
expect | Assertion library for use with Mocha |
express | Serves development and production builds |
extract-text-webpack-plugin | Extracts CSS into separate file for production build |
file-loader | Adds file loading support to Webpack |
jsdom | In-memory DOM for testing |
mocha | JavaScript testing library |
nock | Mock HTTP requests for testing |
npm-run-all | Display results of multiple commands on single command line |
open | Open app in default browser |
react-addons-test-utils | Adds React TestUtils |
redux-immutable-state-invariant | Warn when Redux state is mutated |
redux-mock-store | Mock Redux store for testing |
rimraf | Delete files |
style-loader | Add Style support to Webpack |
url-loader | Add url loading support to Webpack |
webpack | Bundler with plugin system and integrated development server |
webpack-dev-middleware | Adds middleware support to webpack |
webpack-hot-middleware | Adds hot reloading to webpack |
-
first bug description
-
second bug description
-
to add Redux - Functional State Management
-
Web Accessibility – WAI-ARIA
-
Database: Mongo, Cassandra, Redis
-
Webpack, ESLint, NPM scripts
-
Test Driven Development: Mocha, Jasmine