With this exercise, we will evaluate your ability to develop a simple backend application that meets the requirements for an imaginary product we want to build.
Completing this should take you anywhere from a couple of hours to up to a day depending on your level of expertise, available time to focus, and level of detail you consider sufficient.
That said, if it is taking you more than a day, you are probably spending more effort than necessary in some details. We expect that you submit your final work within one week of receiving the assignment, but please let us know if this is too short notice for you.
Please feel free to reach out and ask questions if you need any clarification.
We are developing a simpler version of our core application. This application handles the information of our patients and the studies they have made.
The following are examples of data to be used:
Table for each patient that has been introduced in the system by a doctor.
Patients (/api/tests/data/patients.csv
):
first_name, last_name, birth_date, email, id
Jose, Villalobos, 1955-04-10, [email protected], 1
Jessica, Ramirez, 1971-07-01, [email protected], 2
Diana Laura, Del Toro, 1988-08-29, [email protected], 3
Jorge Alberto, Trevino, 1990-05-05, [email protected], 4
Table for each study made to a patient.
Studies (/api/tests/data/studies.csv
):
urgency_level, body_part, description, type, patient_id
HIGH, STOMACH, NO FINDINGS, XRAY, 1
HIGH, NECK, NORMAL THYROID, XRAY, 1
LOW, CHEST, UNUSUAL RATIO, XRAY, 2
MID, BREASTS, HIGH DENSITY ON LEFT SIDE, MAMMOGRAM, 3
As we said before, it can take you a couple of hours or a day.
- Python 3.8
- PEP-8 Coding Style
- Good use of git (commits, pull requests, branches)
- Use of conventional commits for commit messages
- Implement the CRUD for Patients
- Implement the CRUD for Studies
- Implement the a listing view of Patients that displays their Studies
- Fix Github Actions workflow for pipeline to work.
- Change from
pyenv
andrequirements.txt
topipenv
andPipfile
- Add a
Dockerfile
anddocker-compose
- Refactor the code
- Testing suite
- Clone this repo and share the link with us at the time to deliver (DO NOT FORK)
- Please document the repo and your code (using docstring
- On the README, explain your architecture, and development choices.
- On the README, write a summary of what else you could/would like to have done if you had more time.
python3 -m venv pyenv
source pyenv/bin/activate
pip install -r requirements.txt