Git Product home page Git Product logo

tech-test's Introduction

Askable Technical Test

This test consists of two parts

  1. Build a minimal online marketplace application
  2. Improve interactive performance of a large list

Technical notes

  • React app /apps/frontend (http://localhost:5173)
  • Rest server /apps/server (http://localhost:3000)
  • Run both apps from the root pnpm run dev

1. Build a minimal online marketplace application

Scenario:

Build a minimal app for an online marketplace application. The app will be used to manage Product listings, and Order transactions. The app should implement the following functionality:

  1. Create a new Product.
  2. View a single products details.
  3. View a single products order details (if it exits).
  4. View X amount of products that are sortable by either created date or price
  5. Ability to purchase the product
  6. Delete a Product (For testing purposes, deleting a Product should also delete the Order associated with it, if it exists)

You can come up with any frontend design you like You will need to implement both the server and the frontend No authentication is required Products should be a One-to-One relationship with Orders.

Notes:

  1. Use any library/tooling that you would like. (React Router, Redux, ChakraUI etc)
  2. If I try purchase a Product that has already been sold, the endpoint should return an error.
  3. Use the mocked database in ./data/Database to manage all data
  4. Implement input validation for all endpoints
  5. Implement error handling for all endpoints
  6. Write tests for critical paths
  7. Implement under /products route

2. Improve interaction performance of users list view

Please visit http://localhost:5173/users.

We have a very poorly written web page which displays 10,000 users data as a list. Extra information can be seen on hover. Currently there are a few performance issues:

  1. Both searching and selecting a user is very laggy.
  2. An excessive amount of nodes are on the page.

The task is to improve on the issues above to make the experience better for the user. You can do what you want to the page, completely refactor it if you like! But because this is a frontend task the only requirement is that the API must always return 10,000 users. Same as task one, you are free to use any library you like(state management, styling, virtualization etc).

Instructions:

  1. Fork this repository.
  2. Complete the test and push your code to a private GitHub repo.
  3. Reach out to Askable hiring manager, they will provide you with some GitHub names to add as collaborators who will review your submission.

Reach out if you have any questions. Good Luck!

tech-test's People

Contributors

tyrong avatar mokuzuu avatar

Forkers

manasaanan

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.