Skip to content

Implementation Tracker: BookRunner Azure DevOps Migration #1

@Josan88

Description

@Josan88

Goal

Deliver the BookRunner migration as a demonstrable DevOps project aligned with the submitted project brief.

Scope guardrails

  • Keep the existing BookRunner frontend as the first client
  • Replace the PHP backend with one Node.js + Express API
  • Use Docker, GitHub Actions, Azure Container Registry, Azure Container Apps, Azure Database for PostgreSQL, and Azure Monitor
  • Add Selenium frontend tests plus Jest and Supertest backend API tests
  • Avoid real payment gateways, microservices, mobile apps, direct Kubernetes management, and MFA

Success definition

  • Staging and production are live on Azure Container Apps
  • Frontend and backend are containerised and deployed through ACR
  • Core user flow works end to end: registration/login, browsing, cart, checkout, and purchase history
  • CI checks and automated tests run through GitHub Actions
  • A source change can trigger redeployment
  • Azure Monitor evidence is available for logs, health, response time, uptime, and errors
  • Performance evidence maps to the brief's deployment-time, response-time, concurrency, and throughput targets
  • Documentation and evidence are organized for the presentation and final report

Implementation checklist

Phase roadmap

Phase Focus Exit criteria
1 Foundation Backend starts, /health works, Docker local setup is documented
2 Data migration PostgreSQL schema exists and backend can connect locally
3 Core API migration Auth, cart, checkout, and purchase history work through Express
4 Frontend integration Existing frontend uses the new API without PHP/XAMPP
5 Automated verification Backend API tests and key Selenium flows run locally and in CI
6 CI/CD and Azure deployment GitHub Actions builds, tests, pushes to ACR, and deploys to ACA staging/production
7 Monitoring and metrics Azure Monitor, redeploy proof, and performance evidence are captured
8 Assessment packaging Evidence is organized for presentation and final report

Suggested execution order

  1. Cart authorization migration ([Cart] Migrate cart endpoints and enforce per-user authorization #6)
  2. Orders and purchase history migration ([Orders] Migrate order and order_items flows with PostgreSQL transactions #7)
  3. Frontend integration cleanup for the Azure-ready API ([Frontend] Point the existing BookRunner frontend at the Azure-ready API #4)
  4. Selenium and expanded API tests ([Testing] Add Selenium and API tests for core BookRunner flows #11)
  5. ACR image publishing, ACA deployment, and Azure Monitor evidence ([Deployment] Provision Azure Container Apps staging and production with PostgreSQL #9 and [Ops] Add Azure Monitor, release verification, and redeploy evidence collection #8)
  6. Performance, scalability, and deployment-time evidence capture ([Performance] Capture response time, throughput, concurrency, and deployment-time evidence #15)
  7. Documentation and evidence pack finalization ([Documentation] Prepare project documentation and assessment evidence pack #16)

Metadata

Metadata

Assignees

No one assigned

    Labels

    enhancementNew feature or requesttrackingParent issue or cross-cutting tracker

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions