Skip to content

hourliert/lifework-wallet

Repository files navigation

LifeworkWallet

Build Status codecov.io

This is a simple wallet application.

Getting started

npm install
npm start
# go to http://localhost:3000 after a few seconds

The Project

Libraries:

Technical Features

  • Server Rendering
  • Inline styles with Radium
  • Material Design
  • Routing support
  • Code splitting support
  • Immutable and non immutable redux reducers support

Project structure

  • ./src: Source code
  • ./src/actions: Actions creators
  • ./src/components: Presentational components (those who don't depend on redux and are very dumb!)
  • ./src/config: App config
  • ./src/constants: App constants (includes Actions names and route name)
  • ./src/helpers: Several helpers
  • ./src/reducers: Redux reducers
  • ./src/routes: Application routes. A route is typically a folder with the following structure:
    • ./index.js: The react-router route object
    • ./container/Container.js: The container component (this one is aware of redux)
    • ./selector/selectors.js: Redux selectors. ie: grabs data from redux store efficiently
    • ./component/ContainerWrapper.js: Wrapper component mediating other components (It should include only components from ./src/components. ie: presentational components)
  • ./src/selectors: Reselect base selectors. ie: optimized redux store readers
  • ./src/store: Middlewares and store enhancers
  • ./src/themes: Theme configuration
  • ./src/**/__tests__/: Test code
  • ./src/retax.config.js: retax configuration file
  • ./src/clientEntry.js: Client entry
  • ./src/serverEntry.js: (Front-end) Server entry

Tasks

  • npm start: Start front-end server and watch for file changes
  • npm run build: Build the app. The output is in the ./build folder. You could run this command with these options: (eg. npm run build -- -- --release (don't forget the -- --))
    • --release: minify the bundle
    • --devtools: include redux-devtools
    • --react-perf: include react addons perf
    • --isomorphic: include server rendering
  • npm test: Run all tests in mocha
  • npm run lint: Lint the code of the component
  • npm run tdd: Run all tests in watch mode

Roadmap

  • Migrate the seed to typescript when typescript@2.0.0 is out
  • Migrate the test framework to jest. This will reduce the number of dependencies and be easier to work with mocks.

About

Lifework code challenge.

Resources

License

Stars

Watchers

Forks

Packages

No packages published