In this challenge, your task is to retrieve data from an external API and render it like the provided designs. Use JavaScript and React.
Your challenge is to build out this personal time-tracking dashboard. A perfect opportunity to flex your CSS Grid muscles! Your task is to build the project to the designs inside the /design
folder. You will find both a mobile and a desktop version of the design. The designs are in JPG static format. Using JPGs will mean that you'll need to use your best judgment for styles such as font-size
, padding
, and margin
. You will find all the required assets in the /images
folder. The assets are already optimized. Fetch data from the following endpoint:
https://wookie.codesubmit.io/time-tracking
Your users should be able to:
- View the optimal layout for the site depending on their device's screen size
- See hover states for all interactive elements on the page
- Switch between viewing Daily, Weekly, and Monthly stats
- The text for the previous period's time should change based on the active timeframe. For Daily, it should read "Yesterday" e.g "Yesterday - 2hrs". For Weekly, it should read "Last Week," e.g. "Last Week - 32hrs". It should read "Last Month" for monthly, e.g., "Last Month - 19hrs".
There is also a style-guide.md
file containing the information you'll need, such as color palette and fonts.
- JavaScript best practices
- Show us your work through your commit history
- Completeness: did you complete the features?
- Correctness: does the functionality act in sensible, thought-out ways?
- Maintainability: is it written in a clean, maintainable way?
- Testing: is the system adequately tested?
Please organize, design, test, and document your code as if it were going into production - then push your changes to the master branch. After you have pushed your code, you may submit the assignment on the assignment page.
All the best and happy coding!
The CKW AG Team