feat(ADM-018): completed feature

This commit is contained in:
chattie
2026-08-17 22:23:10 +02:00
parent cf1c69fc8b
commit d595b4871f
871 changed files with 47411 additions and 281 deletions

View File

@@ -0,0 +1,161 @@
# BRAND MIGRATION — SPEC.md
## 1. Concept & Vision
MercadoDeVida ("Natural - Mercado de Vida") is a Costa del Sol-based online organic supermarket founded by Ivana & Ricardo, serving all of Spain. The brand identity comes from the legacy site (mercadodevida.es). The new platform must faithfully adopt the established brand identity — colors, typography, company information, and approved content — without inventing or approximating.
**Rule: INSPECT, DO NOT INVENT. MIGRATE, DO NOT REWRITE.**
## 2. Source of Truth
**Legacy site**: https://mercadodevida.es
**Legacy sitemap**: https://mercadodevida.es/sitemap.xml
All visual assets, colors, and content come from the legacy site. No AI approximation.
## 3. Company Identity
### 3.1 Official Business Name
```
Primary: Natural - Mercado de Vida
Abbreviated: MercadoDeVida
```
### 3.2 Founders
```
Ivana & Ricardo
```
### 3.3 Contact Information
| Field | Value |
|-------|-------|
| Address | Av. Litoral - Edif. Vistamar II - Local 18, 29680 Estepona - Málaga |
| Phone | +34 951 338 132 |
| WhatsApp | +34 676 014 074 |
| Email | info@mercadodevida.es |
### 3.4 Business Hours
```
MondayFriday: 10:00 18:00
Saturday: 10:00 14:00
```
### 3.5 Geographic Scope
Serving all of Spain (peninsular). First Costa del Sol: Estepona, Sotogrande, Marbella, Málaga.
### 3.6 Social Links
| Platform | Handle/Lookup |
|---------|---------------|
| Instagram | Siguenos en Instagram (URL to be confirmed) |
| Facebook | Siguenos en Facebook (URL to be confirmed) |
URLs must be extracted from legacy site HTML. Do not guess.
## 4. Brand Inventory
See `BRAND_INVENTORY.md` for complete asset catalog.
## 5. Color Palette
Colors extracted from legacy site CSS. Do not eyeball from screenshots.
See `BRAND_INVENTORY.md` for source URLs and extracted values.
### Initial Observations
The legacy site appears to use:
- A green/teal primary (matching the existing `#2D6A4F` in the new platform's design tokens)
- A terracotta/coral accent
- Warm cream/beige backgrounds
- Earthy tones consistent with an organic/natural products brand
Exact CSS values must be extracted from the legacy site's stylesheet. See `BRAND_INVENTORY.md` for instructions.
## 6. Typography
**Current new platform**: Inter (sans) + Playfair Display (headings)
These should be evaluated against the legacy site's actual typography. If the legacy site uses different fonts, update the design tokens accordingly.
## 7. Information Pages
### 7.1 Source Content
| Legacy URL | New Route | Content Status |
|-----------|-----------|---------------|
| /quienes-somos | /about | Content extracted — see BRAND_INVENTORY.md |
| /quienes-somos | /contact | Content extracted — partial |
| /envios-y-formas-de-pago | /shipping | 404 on legacy — needs content creation |
| /terminos-y-condiciones | /terms | Legal text migrated — needs legal review |
| /politica-de-privacidad | /privacy | 404 on legacy — needs content creation |
| /politica-de-cookies | /cookies | 404 on legacy — needs content creation |
| /aviso-legal | /legal | Not on legacy — may need creation |
### 7.2 Content Architecture Decision
**Option A**: Typed static content in React components (current approach, works for simple pages)
**Option B**: Markdown/MDX files
**Option C**: CMS-backed (backend endpoint)
For this migration, Option A (typed static content) is acceptable if the new `ContentPage` component supports rich content. If rich content is needed, evaluate Option B.
Do NOT build a CMS just for five pages.
### 7.3 Single Source of Truth
Business information (address, phone, email, WhatsApp, hours) must be defined once and referenced from:
- Footer
- Contact page
- About page
- Checkout confirmation
- Legal pages
Create a `businessConfig` constant in `frontend/src/lib/businessConfig.ts` (or existing equivalent). Do NOT duplicate strings.
## 8. SEO Redirects
See `LEGACY_REDIRECT_MAP.md` for full redirect map.
Key principles:
- Every indexed legacy URL must either redirect (301/308) or return 410
- Product pages: 301 redirect to new slug format
- Informational pages: 301 redirect to new routes
- Category pages: map legacy OpenCart routes to new category routes
## 9. Admin Branding
Admin reuses:
- Logo (simplified or same)
- Basic brand colors (primary green)
Admin does NOT need:
- Full brand editorial content
- Marketing imagery
- Consumer-focused styling
Priority: operational usability. Admin must be clearly part of MercadoDeVida ecosystem without reducing table/form readability.
## 10. Out of Scope
- Rebuilding the legacy site functionality
- Migrating user accounts
- Migrating order history
- Migrating product catalog (already done)
- Changing domain registrar or DNS
- Third-party integrations (Instagram, Facebook)
- Payment gateway changes
- New marketing pages
## 11. Feature Flag
Not required for brand migration. Brand is purely additive.
## 12. Acceptance Criteria
See `TESTS.md`.