This project is designed to test Python developers' skills in building a backend service (FastAPI) that powers a React + Node.js application.
- Getting Started – Python test setup guide
- Test Requirements – Complete Python test requirements and evaluation criteria
- Test Summary – Quick overview of required tasks
- Candidate Checklist – Track your progress
python-test/
├── python-backend/ # FastAPI HTTP server (data source)
├── node-backend/ # Node.js Express API server (calls Python backend)
└── react-frontend/ # React frontend (calls Node.js backend)
React Frontend (port 5173)
↓
Node.js Backend (port 3000)
↓
Python Backend (port 8080)
Important: Start services in this order (inside python-test/):
cd python-backend
python -m venv .venv
source .venv/bin/activate # Windows: .venv\\Scripts\\activate
pip install -r requirements.txt
python -m app.mainThe Python backend will run on http://localhost:8080 and serves as the data source.
In a new terminal:
cd node-backend
npm install
npm startThe Node.js backend will run on http://localhost:3000 and proxies requests to the Python backend.
In a new terminal:
cd react-frontend
npm install
npm run devThe React frontend will run on http://localhost:5173 and calls the Node.js backend.
A FastAPI server that:
- Serves as the primary data source
- Stores users and tasks in-memory
- Exposes REST endpoints (
/api/users,/api/tasks,/api/stats) - Handles JSON requests/responses
- Uses a thread-safe in-memory data store
Same as other tests: proxies frontend requests to the Python backend.
Same UI as other tests: shows users, tasks, stats, and health.
📋 See TEST_REQUIREMENTS.md for detailed Python test requirements and evaluation criteria.