- After cloning into the repository, run
python -m venv venv
. - Activate virtual envirnoment
source venv/bin/activate
. - Install packages
pip install -r requirements.txt
. - Now simlpy run using uvicorn with
uvicorn main:app --reload
and it should work!
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!
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.
- Create proper database tables that can fit the data model.
- Create a script that imports the data into the database (sqlite).
- Create REST APIs to get the planning data from the database.
- The APIs don't need to be complete, just create what you can in the available time.
- Please include at least one example on how to do each of the following:
- pagination
- sorting
- filtering / searching
- 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
- Python 3.8+
- FastAPI
- SQLAlchemy
- 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
.