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
[Backend] Scaffold Node.js + Express API with env config and health endpoint #2 [Backend] Scaffold Node.js + Express API with env config and health endpoint
[Dev Setup] Add Dockerized local development for backend, frontend, and PostgreSQL #3 [Dev Setup] Add Dockerized local development for backend, frontend, and PostgreSQL
[Database] Migrate schema and data access to PostgreSQL #14 [Database] Migrate schema and data access to PostgreSQL
[Auth] Migrate registration, login, and profile flows to the new API #5 [Auth] Migrate registration, login, and profile flows to the new API
[Cart] Migrate cart endpoints and enforce per-user authorization #6 [Cart] Migrate cart endpoints and enforce per-user authorization
[Orders] Migrate order and order_items flows with PostgreSQL transactions #7 [Orders] Migrate order and order_items flows with PostgreSQL transactions
[Frontend] Point the existing BookRunner frontend at the Azure-ready API #4 [Frontend] Point the existing BookRunner frontend at the Azure-ready API
[Testing] Add Selenium and API tests for core BookRunner flows #11 [Testing] Add Selenium and API tests for core BookRunner flows
[CI/CD] Configure GitHub Actions for build, test, Docker image, ACR, and ACA deployment #10 [CI/CD] Configure GitHub Actions for build, test, Docker image, ACR, and ACA deployment
[Deployment] Provision Azure Container Apps staging and production with PostgreSQL #9 [Deployment] Provision Azure Container Apps staging and production with PostgreSQL
[Ops] Add Azure Monitor, release verification, and redeploy evidence collection #8 [Ops] Add Azure Monitor, release verification, and redeploy evidence collection
[Performance] Capture response time, throughput, concurrency, and deployment-time evidence #15 [Performance] Capture response time, throughput, concurrency, and deployment-time evidence
[Documentation] Prepare project documentation and assessment evidence pack #16 [Documentation] Prepare project documentation and assessment evidence pack
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
Cart authorization migration ([Cart] Migrate cart endpoints and enforce per-user authorization #6 )
Orders and purchase history migration ([Orders] Migrate order and order_items flows with PostgreSQL transactions #7 )
Frontend integration cleanup for the Azure-ready API ([Frontend] Point the existing BookRunner frontend at the Azure-ready API #4 )
Selenium and expanded API tests ([Testing] Add Selenium and API tests for core BookRunner flows #11 )
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 )
Performance, scalability, and deployment-time evidence capture ([Performance] Capture response time, throughput, concurrency, and deployment-time evidence #15 )
Documentation and evidence pack finalization ([Documentation] Prepare project documentation and assessment evidence pack #16 )
Goal
Deliver the BookRunner migration as a demonstrable DevOps project aligned with the submitted project brief.
Scope guardrails
Success definition
Implementation checklist
Phase roadmap
/healthworks, Docker local setup is documentedSuggested execution order