Refactor Python Code, Isolate Web Service
Budget: ₹600 – ₹1,500 INR
I have an existing Python codebase where business logic, routing, and ancillary helpers are all tangled together. I need that clutter untangled so one clearly-defined web service can live in its own repository and be deployed on its own.
Here is what I’m after:
• A clean separation of concerns inside the current project—controllers, models, utilities, and configuration decoupled so each layer is easy to reason about.
• The specific web-facing component extracted into an independent Python package (or micro-service) with its own entry point, virtual-env or Dockerfile, and concise README that explains how to spin it up.
• Updated import paths and dependency management so the remaining monolith still runs untouched.
• A slim test suite proving both the standalone service and the parent app behave exactly as before.
Acceptance criteria
1. Running the extracted service with a single command (e.g., `docker compose up` or `python -m uvicorn ...`) returns the expected health-check endpoint.
2. All existing unit or integration tests in the legacy repo pass.
3. Documentation summarises architecture changes and deployment steps.
No third-party APIs are involved, so the work is fully self-contained. If you enjoy thoughtful refactoring, clear module boundaries, and Pythonic best practices, this should be a straightforward yet satisfying project.
Here is what I’m after:
• A clean separation of concerns inside the current project—controllers, models, utilities, and configuration decoupled so each layer is easy to reason about.
• The specific web-facing component extracted into an independent Python package (or micro-service) with its own entry point, virtual-env or Dockerfile, and concise README that explains how to spin it up.
• Updated import paths and dependency management so the remaining monolith still runs untouched.
• A slim test suite proving both the standalone service and the parent app behave exactly as before.
Acceptance criteria
1. Running the extracted service with a single command (e.g., `docker compose up` or `python -m uvicorn ...`) returns the expected health-check endpoint.
2. All existing unit or integration tests in the legacy repo pass.
3. Documentation summarises architecture changes and deployment steps.
No third-party APIs are involved, so the work is fully self-contained. If you enjoy thoughtful refactoring, clear module boundaries, and Pythonic best practices, this should be a straightforward yet satisfying project.
Related categories:
JavaScript
Python
Django
Software Architecture
Software Development
Docker
API Development
Microservices