GithubHelp home page GithubHelp logo

join-react-test's Introduction

Candidate Application & Score Calculator

JOIN React Test

Context

We love to give visual feedback to the recruiters about where their candidate stand in their pipeline. Proposed solution consists of 2 screens:

  1. The applicant screen - filling it in will send the application to the server
  2. The candidate list screen - where all existing and new candidates can be viewed (reflecting input from the previous screen)

This app needs to display the list of candidates taken from this API: GET https://candidates.free.beeceptor.com/api/candidate (If API is not available, use file located in this repository under /data/candidates.json) and send a local request instead.

Design

Screens are provided in /data folder for reference, it doesn't have to look identical, just a visual reference, you can use Material or Bootstrap for UI components

Requirements

As a Candidate:

  • I want to be able to provide my data in application form without any field being required
  • [OPTIONAL] I want to be able to upload my photo

As a Recruiter:

  • I want to be able to view a list of my candidates
  • For each application calculate score:
    • Up to 10% if full name provided
    • 10% if email provided
    • 10% if password provided
    • 20% if phone provided
    • [OPTIONAL] 50% if image uploaded (calculate accordingly if implemented or not)
  • I want by clicking on the "..." menu, be able to "delete" the candidate (hide from display)
  • I want by clicking on the "..." menu, be able to change candidate state from "submitted" to "in review" to either "not a fit" or "hired"

Technical Notes

There's no restriction to backend technology, you can e.g.:

  • utilize localStorage for candidate data storage (as your backend) and merge it with existing API data
  • spin up a NodeJS server

If the external API is too slow, make sure it's not visible or felt by the user, find a way to make load/wait time a pleasure. Maybe kitten paws loader?

Tech Stack

  • Use ReactJS with TypeScript
  • Test your code with a preferred library of your choice (feel free to choose either unit tests or E2E tests with Cypress, we prefer the latter)
  • Linter, CSSinJS is a plus

Instructions

  • Fork this repo
  • Commit early and often. We want to be able to check your way of thinking
  • Make the app public. Deploy it using the service of your choice (Vercel, Cloud Run, Heroku)
  • Create a pull request so we can review your code and comment on it
  • Do not spend more than 5 hours on the test, you will have a chance to submit fixes when our engineers review your code

Disclaimer

You don't have to finish all of that, but we would really love to see a working piece. What's more important for us is to see your way of thinking and priority on tasks during implementation!

join-react-test's People

Contributors

drobenyuka avatar boris-lapouga avatar tcichowicz avatar

Watchers

James Cloos 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.