Please start by forking this repository.
Once you've done that, you can get a 100 points as your score by finishings following 6 tasks:
-
Dependency management (10 points) Our dependencies are hardcoded in vendor folder. You task is to remove them in favour of npm.
-
Package management (10 points) Now we can go for a better package management. Let's add webpack.
-
Architecture (40 points) App is currently using underscore template engine and backbonejs, we think that as application grows this current architecture will create more complexities and become slow. We think that React+Redux architecture will reduce complexity. Your task is - convert this client side application into above mentioned architecture. Note, we believe that automated testing helps in reducing complexity and time on building features. You're encouraged to go as fas as 100% unit test code coverage. You can use any testing framework on your taste.
We will evaluate by looking at following points: Robustness (easy to understand and change, the libraries and frameworks used in the way they intended to be used). Clean code (readability, modularity, components hierarchy, structure of test cases). Code coverage (percentage, how easy is that to break the production code, what did you find important to cover).
-
Redesign (25 points) We think that User Experience is paramount importance. Since this is a subjective topic we leave it up to you on how to design the flow of app or change the UI. You don't have to make drastic changes but minor tweaks and improvements will do.
We will evaluate this task by looking at following points: User Experience Look and Feel
-
Storing the state (10 points) We want our customers to see their contacts next time they come back. We suggest you use cookies for that.
-
Deployment (5 points) Once done with above two, please host this app on heroku or any other cloud platform you prefer.
Result You present the url to your github repository + url to app where application is deployed (heroku or any other platform or your choice).
Notes: You will get bonus points of writing meaning full git commit messages. You may take 2 days to finish this test. We expect you to submit all 5 tasks with in 2 days. If you run into complications please inform us so that we can allocate you some additional time. If you haven any questions regarding the test feel text me at [email protected] or via facebook 'Daniil Moskovtsov'. I’ll be available most of the time.
Good luck!