1ebfc0e310
Add Purpose & Scope, Entry Points, Dependencies, Traps & Gotchas, Anti-Patterns sections.
1.7 KiB
1.7 KiB
batida-landing — Intent Node (Root)
Purpose & Scope
Marketing/landing page for Batida. Static HTML served via Nginx. Separate git repository — self-contained.
Does: Serve static HTML landing pages (EN + PT-BR), SEO, Nginx hosting. Does NOT: Handle user data, run application logic, serve the app (→ batida-web).
Entry Points
No build step required. Just serve static files via Nginx.
Dependencies
| Depends On | Why |
|---|---|
| batida-infra | K8s deployment manifests, Dockerfile → Nginx container |
Structure
index.html → English landing page
index.pt-br.html → Portuguese landing page
vs.html → Comparison page (English)
vs.pt-br.html → Comparison page (Portuguese)
Dockerfile → Nginx static serving
nginx.conf → Nginx config (compression, caching)
robots.txt → SEO robots
sitemap.xml → SEO sitemap
k8s/ → Kubernetes deployment manifests
Key Patterns
- Fully static — no build step, no JavaScript framework
- Two languages: English and Portuguese (separate HTML files)
- Nginx handles gzip compression and static caching
- SEO configured via robots.txt and sitemap.xml
Traps & Gotchas
- Both language versions must be updated in sync — forgetting one leaves stale content
- No hot reload or dev server — edit HTML, refresh browser
Anti-Patterns
- Never add server-side logic or build tools — pure static HTML
- Never commit secrets or environment-specific values
- Never add JavaScript frameworks — keep it static
Boundaries
Always
- Keep both language versions in sync when updating content
- Test HTML renders correctly in browser before committing