1ebfc0e310
Add Purpose & Scope, Entry Points, Dependencies, Traps & Gotchas, Anti-Patterns sections.
51 lines
1.7 KiB
Markdown
51 lines
1.7 KiB
Markdown
# 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
|