Skip to content

Wellthy/eng-interviews-fullstack

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

3 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Care Coordinator — Engineering Interview Exercise

Welcome! This is a small full-stack application used in our engineering interview process. It simulates a simplified care coordination tool — a platform where care coordinators manage tasks on behalf of patients and their families.

What This App Does

  • Displays a list of patients
  • Each patient has a set of care tasks (medical appointments, insurance claims, legal documents, etc.)
  • Each patient has a small care team (family members, coordinators, nurses)
  • Tasks can be created, updated, and filtered by status

The backend is Django + Django REST Framework serving a JSON API. The frontend is React (Create React App). Data is stored in SQLite.

Getting Started

Prerequisites: Python 3.10–3.13, Node.js 18+, npm

Version pins are in .tool-versions (asdf/mise), .python-version (pyenv), and .nvmrc (nvm). make setup will abort early with a clear message if your Python is outside the supported range.

# 1. Set up everything (backend venv, frontend deps, DB, seed data)
make setup

# 2. Start the backend (in one terminal)
make backend
# API runs at http://localhost:8000/api/

# 3. Start the frontend (in a second terminal)
make frontend
# App runs at http://localhost:3000

If the default python3 on your PATH is outside the supported range, override it: make setup PYTHON=/opt/homebrew/bin/python3.12.

Other commands:

make test    # Run backend tests
make reset   # Drop DB, re-migrate, re-seed
make clean   # Remove venv, node_modules, DB

API Endpoints

Method Endpoint Description
GET /api/patients/ List all patients
GET /api/patients/:id/ Patient detail + tasks
GET /api/tasks/ List tasks (filterable)
POST /api/tasks/ Create a task
PATCH /api/tasks/:id/ Update a task
DELETE /api/tasks/:id/ Delete a task

Task filters: ?patient=1, ?status=pending

Project Structure

backend/
  coordinator/       # Django project (settings, urls)
  tasks/             # Django app (models, views, serializers, tests)
  seed_data.py       # Sample data loader

frontend/
  src/
    api.js           # API client functions
    App.js           # Routes and layout
    components/
      PatientList.js    # Patient list page
      PatientDetail.js  # Patient detail with tasks + care team
      TaskCard.js       # Individual task display
      TaskForm.js       # New task form
      StatusBadge.js    # Status pill component

Your Task

Your interviewer will share the exercise prompt with you at the start of the session. Take a few minutes to read through the codebase before starting — it's small enough to understand quickly.

You are welcome to use any tools you normally use when coding, including AI assistants, documentation, etc.

Notes

  • Auth is deliberately omitted to keep things simple. Pretend you're a logged-in coordinator.
  • The database is SQLite — no database server needed.
  • The seed data creates 3 patients with realistic tasks. Run make reset to restore it.
  • The codebase is intentionally "real-world imperfect" — not everything is pristine, and that's on purpose.

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors