Skip to content

LukazMartin/backend-coding-challenge

 
 

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

8 Commits
 
 
 
 
 
 
 
 

Repository files navigation

In order to test the endpoints first run the script src/load_data_script.py.

Then in src/views.py there are 3 endpoints.

· Filtering
· Sorting
· Pagination

This is part of a coding challenge for Aspaara AG by ldoehne@uoc.edu

Original autor: sundara.amancharla@aspaara.com

Backend Coding Challenge

At aspaara a squad of superheroes works on giving superpowers to planning teams. Through our product dashboard, we give insights into data – a true super-vision superpower. Join forces with us and build a dashboard of the future!

aspaara superhero

Goal

Create a simple backend application that provides an API for a dashboard which allows a planner to get insights into client and planning information.

You will find the corresponding data that needs to be imported into the database in planning.json, which contains around 10k records.

Requirements

  1. Create proper database tables that can fit the data model.
  2. Create a script that imports the data into the database (sqlite).
  3. Create REST APIs to get the planning data from the database.
    1. The APIs don't need to be complete, just create what you can in the available time.
    2. Please include at least one example on how to do each of the following:
      1. pagination
      2. sorting
      3. filtering / searching

Data Model

  • ID: integer (unique, required)
  • Original ID: string (unique, required)
  • Talent ID: string (optional)
  • Talent Name: string (optional)
  • Talent Grade: string (optional)
  • Booking Grade: string (optional)
  • Operating Unit: string (required)
  • Office City: string (optional)
  • Office Postal Code: string (required)
  • Job Manager Name: string (optional)
  • Job Manager ID: string (optional)
  • Total Hours: float (required)
  • Start Date: datetime (required)
  • End Date: datetime (required)
  • Client Name: string (optional)
  • Client ID: string (required)
  • Industry: string (optional)
  • Required Skills: array of key-value pair (optional)
  • Optional Skills: array of key-value pair (optional)
  • Is Unassigned: boolean

Preferred Tech Stack

  • Python 3.8+
  • FastAPI
  • SQLAlchemy

Submission

  • Please fork the project, commit and push your implementation and add sundara.amancharla@aspaara.com as a contributor.
  • Please update the README with any additional details or steps that are required to run your implementation.
  • We understand that there is a limited amount of time, so it does not have to be perfect or 100% finished. Plan to spend no more than 2-3 hours on it.

For any additional questions on the task please feel free to email sundara.amancharla@aspaara.com.

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • Python 100.0%