A demo application for a product selection page. The App Uses React with Redux on the client and has an express API. Tests use Mocha with Chai Assertion, supertask for async and react-addons-test-utils for testing components.
git clone git@github.com:rickyH/product-selection.git
cd product-selection/
npm installAPI (Caution) make sure the application isn't running when you run the API test scripts, stop this service to run the application.
npm run test-apiClient tests currently only use PhantomJS however karma-chrome-launcher is provided.
npm test# Note you can leave this running
npm testPlease kill the API test server before running this application
npm startAlternatively for better debugging run the API and dev-server separately
npm run dev-server
# Then in a separate terminal instance
npm run api-testVisit http://localhost:5000 to view the application
On the home page there are two buttons that will set the customerID, this is a requirement for the product page.
- Create a production version (not use a webkit-dev-server).
- Fix webkit loaders to allow sass @import.
- Fade in page when loading is true to avoid flicker.
- Add a method for removing an item from the basket
- Make the application stylesheets fully responsive.
- Add container tests.
- Add Reducer tests to confirmation.
- Add tests for actions.
- Resolve npm dependencies errors.
- Run the API tests on another port.
- Add a config file for the location and port settings.
- Update Helmet meta/title for each page.
- Hide UI when state is set to loading (Show Spinner).
- Tidy and Comment.