Changelog
Author: Domenico Cerone Creation Date: 02/10/2025
Last Reviewer: Domenico Cerone
All notable changes to this project will be documented in this file.
The format is based on Keep a Changelog, and this project adheres to Semantic Versioning
[2.0.0] - 01-10-2025
Added
-
New system activation: The catalog-based data structure became active on October 1, 2025, replacing the legacy brand-based system.
-
New catalog-based data structure:
- Introduced
Catalogues,CataloguesProducts, andCataloguesVariantscollections in Firestore. - Replaced hierarchical brand-based system with streamlined catalog approach.
- Added support for multi-brand configurations (Tommy Hilfiger and David Beckham).
- Introduced
-
Centralized configuration management:
- Single
config.jsfile for all catalog and brand configurations. DEFAULT_CATALOG_IDconcept for automatic homepage routing.CATALOG_IDSandBRAND_CONFIGobjects for easy brand management.
- Single
-
Simplified routing system:
- Single route pattern
/:catalogIdfor all catalog access. - Automatic redirect from homepage to default catalog.
- Removed complex URL parameter handling.
- Single route pattern
-
Enhanced data flow architecture:
- Direct Firestore collection references instead of hierarchical queries.
- Parallel data fetching for improved performance.
- Streamlined data retrieval:
Catalog ID → Catalogues → CataloguesProducts → CataloguesVariants.
-
Multi-brand support:
- Tommy Hilfiger Gateway with 4 catalog variants (TOMMY, ROADTOUR, OOH, ADV).
- David Beckham Gateway with 2 catalog variants (DAVID_BECKHAM, DAVID_BECKHAM_OOH).
- Independent brand configurations and styling.
Changed
-
Data structure migration:
- Replaced
Brand → Linea → Occhiale → Taglia → Modellohierarchy with flat catalog structure. - Updated all data queries to use new collection names.
- Migrated from sequential to parallel data loading.
- Replaced
-
Configuration management:
- Consolidated multiple config files into single
config.js. - Changed from brand-based to catalog-based configuration approach.
- Updated all components to use centralized configuration.
- Consolidated multiple config files into single
-
Routing logic:
- Simplified from multiple route patterns to single
/:catalogIdpattern. - Removed complex URL parameter handling and validation.
- Updated navigation logic to use catalog IDs directly.
- Simplified from multiple route patterns to single
-
Performance optimizations:
- Implemented parallel data fetching instead of sequential loading.
- Reduced data structure complexity from 5 levels to 3 collections.
- Improved caching and data management strategies.
Fixed
-
Data loading issues:
- Resolved sequential loading bottlenecks with parallel data fetching.
- Fixed data consistency issues in hierarchical data structure.
- Improved error handling for missing catalog data.
-
Configuration management:
- Fixed scattered configuration across multiple files.
- Resolved brand configuration inconsistencies.
- Improved default catalog fallback logic.
-
Routing problems:
- Fixed complex URL parameter handling issues.
- Resolved navigation inconsistencies between different route patterns.
- Improved homepage redirect logic.
[1.0.0] - 01-01-2024
Deprecated
- Legacy system end-of-life: The brand-based data structure was active until September 30, 2025.
Added
-
Legacy brand-based data structure:
- Hierarchical data model:
Brand → Linea → Occhiale → Taglia → Modello. - Single brand focus with complex 5-level data hierarchy.
- Heavy use of IndexedDB for local data management.
- Hierarchical data model:
-
Complex routing system:
- Multiple URL patterns for different brand configurations.
- Complex URL parameter handling and validation.
- Various routing strategies for different use cases.
-
Sequential data loading:
- Step-by-step data retrieval through hierarchical structure.
- Local data caching and management.
- Brand-specific configuration files.
Changed
- Data management approach:
- Sequential data loading through hierarchical structure.
- Local data storage and management via IndexedDB.
- Brand-specific data organization.
Fixed
- Initial data loading:
- Basic error handling for data retrieval.
- Fallback mechanisms for missing data.
- Brand configuration management.