feat(ADM-018): completed feature
This commit is contained in:
161
project/specs/brand-migration/SPEC.md
Normal file
161
project/specs/brand-migration/SPEC.md
Normal 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
|
||||
|
||||
```
|
||||
Monday–Friday: 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`.
|
||||
Reference in New Issue
Block a user