Giter Site home page Giter Site logo

woo-fullstack-exercise's Introduction

General:

Sections marked as nice to have (NTH), are not expected in this scope, and can be omitted or replaced with stubs.

Tech notes:

  • Create a responsive single page application using AngularJS.
  • Preferably use TypeScript over JavaScript.
  • Use Java 8 (or higher) for your Backend.
  • Use Spring IoC container and beans
  • Use Hibernate as your persistence layer and ORM.
  • Use mySQL as you database.

Spec:

Data Model

Candidate has a name
Candidate has multiple tech skills
Candidate has multiple expectations:

  • Tech stack
  • Salary (minimum required)
  • NTH - Location
  • More in the future...

Employer has a name
Employer has multiple Positions
Position has a title and:

  • Tech stack - Serves both as required skills and as tech stack to fulfill candidate tech stack expectation.
  • Salary (maximum possible)
  • NTH - Location (from cities list)

Process is between a Candidate and Position
Process has the following available statuses:

  • New
  • Accepted
  • Rejected

User Interface (See screenshots in the repository):

  • Candidate can choose to view a list of all his Processes.
  • NTH - Candidate can choose to view only the “New” Processes.
  • Candidate can accept or reject a new Process.

For each process the following details will be shown:

  • Position title
  • Employer name
  • Process status
  • Position tech stack
  • Candidate expectations marked as either fulfilled or unfulfilled
  • For new processes Accept/Reject button
  • NTH - Time when process started

NOTE: Exact font, color or spacing is not critical. But layout, positioning and alignment is.

Matching:

  • A candidate should only have x (currently 1) processes in status “New” at any given moment.
  • A scheduled task running once an hour will search for matches and create new processes accordingly.
  • In addition, when a candidate accepts a “New” process, the system should search for a new match to create.

Match Score - A Candidate and position with a score higher than 75 is considered a match.

  • Skills score - percentage of the position tech stack a candidate possesses as skills * 25 (max 25 pts)
  • Tech stack score - percentage of fulfilled tech stack expectations * 25 (max 25 pts)
  • NTH - Salary score - ((Position salary / Candidate expected salary) * 25) (max 25 pts)
  • NTH - Location score - same city = 25 pts. same country = 10 pts. (max = 25 pts)

Expectation fulfillment (when is an expectation considered fulfilled)

  • Technologies - More than half of required technologies exist in the position.
  • NTH - Salary - Position salary >= Candidate expected salary
  • NTH - Location - same city.

Bonus:

Add examples for tests (server and client side).

woo-fullstack-exercise's People

Contributors

rklachko avatar

Watchers

 avatar  avatar  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.