Skip to content

XD2Sketch/react-coding-challenge

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

4 Commits
 
 
 
 

Repository files navigation

magicul-logo

React Coding Challenge

The task

Your job is to create a NextJS app which stores file details in the browsers local storage and keeps a history. Only the file meta deta is stored in the browser storage, the files itself won't be stored or uploaded.

Tech stack:

Screens:

  • Main Screen
    • Displays an upload dialog
    • Once a file was dropped on the file upload dialog area it will dispaly the file name and a "Save File" and "Reset File" button
    • Only PDF, DOCX, DOC are allowed
    • Clicking "Save File" will persist the file meta data in the browsers local storage
    • Clicking "Reset File" will reset the upload dialog
    • List all previously saved files (if any) in a table
    • Clicking on the "X" icon in the file list will remove the item and remove it from the browser storage
    • The table contains filename, file size (in bytes, kilobytes, megabytes, gigabytes, terabytes) and the file format (extension without the dot)

Desktop HD Desktop HD 2 Desktop HD 3

Must-have:

  1. TypeScript
  2. React + State Management (Redux/MobX)
  3. Validation on forms
  4. Usage of modern js functionality (ES6+)
  5. Use the TypeScript NextJS Starter to get things going

Nice to have:

  1. Clean code (run linters, prettier)
  2. A few tests
  3. App deployed to Vercel
  4. Conventional Commit Messages
  5. Gitflow Branch Naming

Very nice to have:

  1. Github Actions to run linting and tests

What will we be paying attention to:

  1. How you split code for components
  2. How your store looks like and how you communicate with redux/mobx.
  3. Reusability of the components.
  4. Code repetitions and reusability (keep your code DRY and simple KISS).
  5. How and where you put your business logic.
  6. Code optimization and the solution's performance.
  7. Working in accordance with good practices in general.
  8. How you communicate with the browser storage API.
  9. Handling unexpected errors or potential exceptions.

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published