/webdev_exercise

A test exercise for our candidates

Primary LanguageTypeScript

Web Developer test exercise

Exercise

In a nutshell a simple many-to-many relationship modeling with some primitive CRUD and UI

Context

We have a web application where our admins can see/review/manage users.

Challenge

Our customer-success department is missing functionality to group users based on their skills.

User story

  • As CS-manager, I want to attach skills to users, so I can easily filter the list of users by skill.

Acceptance criteria (happy flow)

  1. I choose a user
  2. I attach skill "javascript" to the user
  3. I filter the list of users by skill "javascript"
  4. I see result 1 row with the user from 2nd step

Setup & run project

Backend

Assumption is that you working under ubuntu and have set up python3.8

If you have difficulties to write backend in python, no problem, you can as well use any nodejs backend framework for that. Important part here is to complete the challenge ;)

cd backend

# Install virtual environment
python3.8 -m venv .venv
source .venv/bin/activate

# Install dependencies
pip install -r requirements.txt

# Run
flask run --reload

Frontend

Assumption is that you already installed Node 12+

cd frontend

# Install dependencies
npm install

# Run
npm start