feat: add real Stripe integration, e2e tests, and Pi deployment

Replace documentation-only repo with working code:

- Stripe integration: webhook handler (8 event types), billing API
  (customers, checkout, payments, subscriptions, invoices)
- Express API server with health endpoint, structured logging
- E2E tests (Playwright): health, webhook signature verification,
  billing API validation
- Unit tests: webhook event handler coverage for all event types
- Pi deployment: deploy.sh (rsync + systemd), NGINX load balancer
  across Pi cluster, Docker support
- CI/CD: test workflow, Pi deploy workflow, updated auto-deploy
  and self-healing to run real tests before deploying
- Move resume docs to docs/ to separate code from documentation

https://claude.ai/code/session_01Mf5Pg82fV6BTRS9GnpV7nr
This commit is contained in:
Claude
2026-03-04 09:00:51 +00:00
parent dfa351891e
commit 20232bfd69
31 changed files with 1409 additions and 299 deletions

32
package.json Normal file
View File

@@ -0,0 +1,32 @@
{
"name": "blackroad-stripe-integration",
"version": "1.0.0",
"description": "BlackRoad OS Stripe integration with e2e tests and Pi deployment",
"main": "src/server.js",
"scripts": {
"start": "node src/server.js",
"dev": "node --watch src/server.js",
"test": "node --test tests/unit/**/*.test.js",
"test:e2e": "npx playwright test",
"test:all": "npm test && npm run test:e2e",
"lint": "eslint src/ tests/",
"deploy:pi": "bash deploy/pi/deploy.sh",
"stripe:listen": "stripe listen --forward-to localhost:3000/api/webhooks/stripe"
},
"dependencies": {
"express": "^4.21.0",
"stripe": "^14.0.0",
"cors": "^2.8.5",
"helmet": "^7.1.0",
"dotenv": "^16.4.0",
"pino": "^9.0.0",
"pino-pretty": "^11.0.0"
},
"devDependencies": {
"@playwright/test": "^1.45.0",
"eslint": "^8.57.0"
},
"engines": {
"node": ">=20.0.0"
}
}