Datalumina

Getting started

Local setup

Toolchain, the repo, locked dependency installs, environment templates, and the readiness check.

By the end of this stage the local plumbing is done. Both locked environments are installed, the environment templates are copied, and a single readiness command confirms the project can start. The Azure values stay empty for now; you fill them in during the Azure stages.

None of this is glamorous, and that is the point. Real projects start with reproducible environments, not with the fun part.

Install the prerequisites

You need four things on your machine:

  • Python 3.12 or newer with uv for the backend
  • Node.js 22 or newer with pnpm 10 or newer for the frontend
  • An AI coding agent such as Claude Code or Cursor if you want to build along the way Dave does
  • git, plus a GitHub account

Verify the runtimes:

uv --version
node --version
pnpm --version

Clone the repo

git clone https://github.com/daveebbelaar/e2e-invoice-review.git
cd e2e-invoice-review

The default main branch is the prepared starter. If you need to inspect the reviewed end product at any point, run git switch solution; switch back with git switch main before continuing the build.

Take a minute to look around before installing anything:

pyproject.toml
uv.lock

Install the locked environments

The repository pins direct dependencies exactly and commits both lockfiles, so you install exactly what Dave built against:

cd backend
uv sync --locked

cd ../frontend
pnpm install --frozen-lockfile

Two supply-chain guards are worth noticing. The backend sets exclude-newer = "7 days" in pyproject.toml and the frontend sets a minimum release age in pnpm-workspace.yaml, so both package managers refuse releases younger than about a week. A freshly published (or freshly hijacked) package version cannot enter this project by accident.

Copy the environment templates

Both services ship a committed .env.example. The real .env files are gitignored:

cp backend/.env.example backend/.env
cp frontend/.env.example frontend/.env

The frontend value can stay as is for local development. The four Azure values in backend/.env are placeholders until you provision the resources in the next stages. Check git status and confirm no .env file shows up.

Run the readiness check

The repo has one script that verifies the local environment without starting anything or installing anything:

cd ..
./scripts/dev.sh --check
# Invoice Review is ready to start.

It checks that uv and pnpm exist, both .env files exist, both environments are installed, and ports 8000 and 5173 are free. When something is missing it tells you the exact command to fix it.

Checkpoint

  • uv --version, node --version, and pnpm --version all work
  • backend/.env and frontend/.env exist and do not appear in git status
  • ./scripts/dev.sh --check prints Invoice Review is ready to start.

Next: Azure account

Create an Azure account with free credits and learn how subscriptions, resource groups, and resources fit together.

On this page