- The application is a simulation of a robot moving on a square tabletop, of dimensions 4 units x 4 units.
- There are no other obstructions on the table surface.
- The robot is free to roam around the surface of the table, but must be prevented from falling to destruction. Any movement that would result in the robot falling from the table must be prevented, however further valid movement commands must still be allowed.
- The map can be extended when the robot moves to the edge of the map.
- The icon of the robot can be changed.
- The moving history (steps) can be reversed.
- Other elements can be added on the map which can block the movement of the robot.
- Make the code Unit testable.
- view-only: early age Javascript
- model-view: moving model into Javascript
- history: Javascript objects cloning
- es6: use ec6 features
- declarative: declarative pattern
- react0: the born of react