Giter Club home page Giter Club logo

coding-challange's Introduction

๐Ÿ’… front-end coding challenge

Welcome to the front-end coding challenge!

We appreciate you taking the time and energy to work on this coding challenge โค๏ธ

It consists of a small React.js application which shall be extended by you.

The next sections describe the three tasks and give some general hints. At the end you can leave any comments about design decisions, instructions or general feedback.

Task 0 - ๐Ÿงฐ Setup

Before you start please read through this document.

If something is unclear or you're stuck please do not hesitate to reach out to us: "reaching out to us" is not perceived negatively in any way. We believe that unclear requirements or ambiguous instructions should always be clarified.

The section called example data is important: please don't change it!

Task 1 - ๐Ÿ”Ž Filtering

Users should be able to filter the table. They expressed that every column should include an input field where they could type their search. The table should then be filtered so that only rows that match the search term for the respective column are included. Your task is to make this possible!

Make sure you start the test runner for the Table component. The test suite includes some essential TODOs to help get started.

Task 2 - ๐Ÿ—„๏ธ Sorting

Your task is to add a feature that lets the user sort every column of the table. If you click the column title for the first time it should sort this column in ascending order. When you click the same title again this should toggle between ascending and descending.

Once again have a look at the test suite for the Table component.

๐Ÿ“ General hints

๐ŸŽ Installing dependencies

This project uses yarn. You can run the following command to install all dependencies.

yarn install

๐Ÿ› ๏ธ Running the dev server

To see what you're building run the following command:

yarn start

It will start the dev-server and open a page in your default browser.

๐Ÿงช Testing

This project uses jest as a test runner. The tests are written using @testing-library/react. Also, we have enhanced the expects with @testing-library/jest-dom to give you some more explicit assertions.

You can run all tests with the following command:

yarn test

๐Ÿ”ฎ Other libraries

Feel free to add any libraries you think are important. But consider that we're interested in your coding skills: the balance between "building ourselves" and "not reinventing the wheel" makes for interesting conversations to follow up in the technical interview and code walkthrough.

If you solve the whole task with a library we will have some questions for you later on.

๐Ÿ“ฆ Example data

Since there is no backend in this exercise all data comes from ./src/data.json.

Do not change this file.

On a real world scenario, you could potentially argue with a backend developer to change the way the data is provided. For this specific exercise our focus in on how you would handle this data in the way you got it right now.


๐Ÿ“ Design decisions and feedback

Task was completed in very limited time, I would like to add functional tests for utils things, but cant invest more in it, thank you for understanding :) Tests from Table component could be separated and described more proper I think.

coding-challange's People

Contributors

mishalov avatar eskimoblood avatar

Watchers

James Cloos avatar  avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.