SnapAPI session 7: code to Forgejo + legal pages
This commit is contained in:
parent
4cc97bc756
commit
a916835773
6 changed files with 970 additions and 20 deletions
|
|
@ -1,5 +1,57 @@
|
|||
# SnapAPI Session Log
|
||||
|
||||
## Session 7 — 2026-02-19 (Code to Forgejo + Legal Pages)
|
||||
|
||||
**Goal:** Push codebase to Forgejo repo and add legally required pages.
|
||||
|
||||
### What Was Done
|
||||
|
||||
1. **Codebase pushed to Forgejo** (snapapi-cicd-1 specialist):
|
||||
- Extracted complete source from running staging pod
|
||||
- Created proper Dockerfile, .gitignore, CI/CD workflows
|
||||
- Pushed 28 files to `openclawd/SnapAPI` on Forgejo
|
||||
- Commit: `b58f634` — "feat: initial codebase v0.4.1"
|
||||
- Includes `.forgejo/workflows/deploy.yml` and `promote.yml`
|
||||
- Verified via Forgejo API — all files present
|
||||
|
||||
2. **Legal pages added** (snapapi-legal-1 specialist):
|
||||
- `/impressum.html` — Austrian §5 ECG compliance (company info, FN, VAT, management)
|
||||
- `/privacy.html` — Full GDPR privacy policy (data collected, legal basis, retention, rights)
|
||||
- `/terms.html` — Terms of Service (acceptable use, rate limits, liability, Austrian law)
|
||||
- All pages: dark theme matching site, responsive, proper nav/footer
|
||||
- Landing page footer updated with legal page links
|
||||
- Built v0.4.3 and deployed to prod (2 replicas) + staging
|
||||
|
||||
3. **CEO verification**:
|
||||
- Playground test: ✅ (200, 90KB, 2s response, watermark, rate limit headers)
|
||||
- Health check: ✅
|
||||
- All legal pages: ✅ (200)
|
||||
- Swagger docs: ✅ (200)
|
||||
- Status page: ✅ (200)
|
||||
- HA: pods on k3s-w1 and k3s-w2 ✅
|
||||
|
||||
### Investor Test — Session 7
|
||||
1. **Would a stranger trust this product with their money?**
|
||||
→ YES. Professional landing page, working playground, Stripe checkout, interactive docs, full legal compliance (Impressum, Privacy, ToS).
|
||||
|
||||
2. **If a pod crashed, would we lose customer data?**
|
||||
→ NO. PostgreSQL external, usage flushes every 5s.
|
||||
|
||||
3. **Could someone abuse the free tier?**
|
||||
→ NO FREE TIER. Playground: 5/hr per IP, watermarked.
|
||||
|
||||
4. **Can a paying customer recover a lost API key?**
|
||||
→ Not yet — needs Stripe customer portal. Customer can email for support.
|
||||
|
||||
5. **Does every feature on the website actually work?**
|
||||
→ YES. Playground, checkout, docs, status, legal pages — all verified.
|
||||
|
||||
### Remaining
|
||||
- Register Stripe webhook in Dashboard (investor action)
|
||||
- CI/CD secrets in Forgejo (KUBECONFIG, REGISTRY_TOKEN)
|
||||
- External uptime monitoring
|
||||
- Staging DNS + TLS
|
||||
|
||||
## Session 4 — 2026-02-19 (Emergency Bug Fix)
|
||||
|
||||
**Trigger:** Investor tested site himself and found 3 critical bugs that previous QA missed.
|
||||
|
|
|
|||
|
|
@ -1,24 +1,24 @@
|
|||
{
|
||||
"phase": "production-live",
|
||||
"version": "0.4.1",
|
||||
"version": "0.4.3",
|
||||
"staging": {
|
||||
"status": "running",
|
||||
"namespace": "snapapi-staging",
|
||||
"replicas": 1,
|
||||
"image": "docker.io/library/snapapi:v0.4.1",
|
||||
"image": "docker.io/library/snapapi:v0.4.3",
|
||||
"healthCheck": "passing"
|
||||
},
|
||||
"production": {
|
||||
"status": "running",
|
||||
"namespace": "snapapi",
|
||||
"replicas": 2,
|
||||
"image": "docker.io/library/snapapi:v0.4.1",
|
||||
"image": "docker.io/library/snapapi:v0.4.3",
|
||||
"healthCheck": "passing",
|
||||
"domain": "https://snapapi.eu",
|
||||
"tls": "Let's Encrypt (valid until 2026-05-20)"
|
||||
},
|
||||
"blockers": [
|
||||
"Stripe webhook URL needs to be registered in Stripe Dashboard"
|
||||
"Stripe webhook URL needs to be registered in Stripe Dashboard: https://snapapi.eu/v1/billing/webhook"
|
||||
],
|
||||
"completed": [
|
||||
"Core screenshot API (POST /v1/screenshot)",
|
||||
|
|
@ -43,13 +43,16 @@
|
|||
"Stripe Checkout flow (plan selection → Stripe → success page with API key)",
|
||||
"Stripe webhook handler (subscription lifecycle, product filtering for shared account)",
|
||||
"Status page at /status (auto-refresh, dark theme)",
|
||||
"Closed BUG-002 and BUG-003 (no longer applicable — no free tier)",
|
||||
"Git push access from openclaw-vm (deploy key: forgejo-snapapi)"
|
||||
"Git push access from openclaw-vm (deploy key: forgejo-snapapi)",
|
||||
"Codebase pushed to Forgejo repo (openclawd/SnapAPI) — all source, Dockerfile, CI workflows",
|
||||
"Legal pages: Impressum (§5 ECG), Privacy Policy (GDPR), Terms of Service",
|
||||
"Footer links to all legal pages"
|
||||
],
|
||||
"notDone": [
|
||||
"Register Stripe webhook URL in Stripe Dashboard",
|
||||
"Staging TLS (blocked on DNS)",
|
||||
"Uptime monitoring (external)"
|
||||
"CI/CD pipeline functional (workflows in repo, needs KUBECONFIG + REGISTRY_TOKEN secrets)",
|
||||
"Staging TLS (blocked on DNS for staging.snapapi.eu)",
|
||||
"External uptime monitoring"
|
||||
],
|
||||
"stripeProducts": {
|
||||
"starter": {
|
||||
|
|
@ -65,6 +68,6 @@
|
|||
"priceId": "price_1T2XHpRtlDv9c8GoThHfd8kS"
|
||||
}
|
||||
},
|
||||
"lastSession": "2026-02-19T13:35:00Z",
|
||||
"lastSession": "2026-02-19T17:30:00Z",
|
||||
"codeLocation": "Forgejo repo openclawd/SnapAPI. Clone: git clone forgejo-snapapi:openclawd/SnapAPI.git"
|
||||
}
|
||||
}
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue