Objective

Your challenge is to build a responsive Social Media Dashboard and get it looking as close to the design as possible.

Brief

Your task is to build out the project to the designs inside the /design folder. You will find both a mobile and a desktop version of the design to work to. The designs are in JPG static format. This will mean that you'll need to use your best judgment for styles such as font-size, padding and margin. There is also a style-guide.md file, which contains some of the information you'll need, such as color palette and fonts.

Your users should be able to:

  • Use TypeScript and React
  • View the optimal layout for the site depending on their device's screen size
  • See hover states for all interactive elements on the page
  • Toggle color theme to their preference
    • Persist this setting in localStorage
  • Surprise us! Add a feature that you think would work well here (for instance, flip the cards on click, to reveal information on the back)
    • Describe the feature in a separate markdown file
  • Bonus Allow the cards to be rearranged (Drag & Drop) and persist the location to localStorage

You will find all the required assets in the /images folder. The assets are already optimized.

Evaluation Criteria

  • TypeScript best practices
  • Show us your work through your commit history
  • We're looking for you to produce working code, with enough room to demonstrate how to structure components in a small program
  • 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?

Deliverables

Make sure to include all source code in the repository.

CodeSubmit

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 Olla Team