Goal: Make the backend runnable in a container.
Scope: Add a Dockerfile that installs dependencies, copies backend source, exposes the API port, and starts the server.
Acceptance criteria: Backend image builds; container starts; logs show the server listening.
Goal: Make the backend runnable in a container.
Scope: Add a Dockerfile that installs dependencies, copies backend source, exposes the API port, and starts the server.
Acceptance criteria: Backend image builds; container starts; logs show the server listening.