absa-subatomic-legacy/photon

Decide on the web stack and push initial project skeleton

Closed this issue · 2 comments

The following needs to be decided:

  • Which framework/set of tools to use for development (React, Stencil, etc.)
  • Provide a brief decision record of why the relavent frameworks were selected (on this issue as a comment)
  • The build tool (Webpack, Gulp, ...)
  • Linting and other code quality rules
  • Testing frameworks (unit/functional and e2e)

Once the above has been ratified, an initial project skeleton should be pushed with the following included as a minimum:

  • A simple working page demonstrating how the above frameworks are wired together
  • Unit/functional and e2e tests for this simple page
  • .travis.yml configuration for Travis build
  • Codecov coverage integration and badge added to README
  • Code Climate integration and badge added to README
  • Descriptive README with an initial Contributing section for developers wanting to run and develop on the project locally

The master branch was updated with code from react branch and here is why:

  • Which framework/set of tools to use for development (React, Stencil, etc.)
    We choose the React framework as more mature and widely useful.
  • Provide a brief decision record of why the relevant frameworks were selected (on this issue as a comment)
    The React and Stencil frameworks have got the same root and demonstrate good performance and maintainability.
  • The build tool (Webpack, Gulp, ...)
    The master code was bootstrapped with Create React App and TypeScript-React-Starter template based on Webpack.
  • Linting and other code quality rules
    We are using TSLint.
  • Testing frameworks (unit/functional and e2e)
    There is the Jest framework for unit testing.
  • Descriptive README with an initial Contributing section for developers wanting to run and develop the project locally

The initial project skeleton was pushed with the following included:

  • There are 3-d parts libraries were included in the project:
    • Redux
    • Router-Redux
    • Thunk
  • Two working pages demonstrating how the framework is using Router
  • Redux storage demonstrates how to wire models and navigation between pages
  • Two dumb and two smart components
  • Unit tests for dumb and smart components

There are outstanding tasks were transformed into separate tasks:

  • e2e tests for this pages
  • .travis.yml configuration for Travis build
  • Codecov coverage integration and badge added to README
  • Code Climate integration and badge added to README

@akserg happy to close this if you are