Skip to content
This repository was archived by the owner on Jan 15, 2025. It is now read-only.

bikemap/python-code-challenge

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

13 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Bikemap python code challenge

As part of your coding challenge you will extend an existing API. The goal of the challenge is to see how you're able to work with existing code. Successful measurement is to finish two tasks and get the minimum passing score of 25 points. You can earn more points with good code quality measured by writing tests. We believe that writing unit tests is the best software engineer's habit, and also it helps colleagues to understand how the code is working.

Expected spend time is no more than 5 hours. Obviously you can spend more if you want, but we value your time.

Challenge

The git repository contains a simple API to manage Todo entries. Currently, Todos does not have any categorisation, we would like to be able to add labels/tags to each todo entry. Since, all data are stored in the app memory, that means it will disappear after each app reload. We would like you to save data in a persistence storage, so the data will survive after an app reload.

Your task is

  1. Extend the API in a way that it will be possible to add labels/tags to TodoEntry.
  2. Save data in database (you can choose any database based on your preferences).

Scoring

Minimum passing score is 25 points

  1. 10 points for finishing task #1
    1. 3 points for integration tests in test.http
    2. 5 points for unit tests
  2. 15 points for finishing task #2
    1. 10 points for unit tests

Installation

Project is fully functional, compatible with Python 3.8 or newer versions. By using Starlette framework with Uvicorn combination.

Install dependencies

pip install -r requirements.txt

Run HTTP server

cd src/app
uvicorn api:app --reload

Testing

Run tests

pytest

Integration tests via HTTP

Integration tests are in tests.http

How to work with integration tests in Pycharm.

About

No description, website, or topics provided.

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages