A TODO app with React, Flux, and HAL
You must have nodejs installed on your computer. From the root project directory run these commands from the command line:
npm install
This will install all dependencies.
To build and run the project, run this command:
gulp
To execute the unit test run:
npm test
The implementation uses:
- HALSON to deal with HAL
- Express to implement a Web Server and REST API
- Underscore to aid with functional programming
- Gulp to build the project and run the server
- Browserify to 'require' modules in the browser
- Reactify to transform JSX into JS
- Watchify to listen to changes in the code and re-run the build process
- Jest for unit testing
- Due to time constraints only the backend server was implemented using CoffeeScript.
- Unit testing is not exhaustive, its intention is to showcase the practice.
- The REST API responds to all Post requests with the full list of up to date TODOs. This was done for simplicity but it wont be a well performing implementation for a real application, nor a proper implementation of REST (eg: a post request to modify a particular TODO should return the affected object, not the whole list).