Expected duration: less than 1 week Objective: Building a web app to control the working hours for a company's employees. The app will be used by each employee to manage and keep account of:
1) Info: 1.1) Worked hours; 1.2) Arriving and Exiting hours; 1.3) Lunch breaks;
2) Features: 2.1) Input: 2.1.1) Arrive and Exit times; 2.1.2) Lunch break times; 2.2) Show the amount of hours above or below the expected working hours;
3) Requirements: 3.1) Use React; 3.2) Save (and fetch) data to an external REST API with json-server; 3.3) One-command setup: 3.3.1) Dockerfile so that the test is totally runnable within itself. No need for external software/configuration (database, auth, etc); 3.4) Unit test; 3.5) Create a README.md with the instructions for us to run your project; 3.6) Feel free to use any libs you deem necessary, but know that we'll also consider your choices around this topic. 3.7) The code (all features, models, functions, etc) need to be clear and commented 3.8) The code need to use SOLID and DRY principles 3.9) The models need to be good designed, making sense and be clear 3.10) The solution cannot contain any dead/redundant code 3.11) The application need to launch 3.12) The application need to do what it promises 3.13) The application cannot have any bugs or minor flaws 3.14) The application nee to provide a complete product ready to deploy 3.15) Extra credits can to offer if your implementation have: 3.15.1) Overengineering; 3.15.1) Implementing additional features; 3.15.1) Using global variables; 3.15.1) Typos, grammar mistakes in a variable naming.
4) Non-required features: 4.1) State Management (Redux); 4.2) Well written documentation; 4.3) Setup an authentication mechanism; 4.4) Automated (CI-driven) deployment;
5) Deadline: 3 days (until next Thusday: 21/01/21)