Schweizer Salinen - Headless CMS Website

★ Featured
Client: Schweizer Salinen
Employer: Unic
Period: 2019 – 2020
Role: Application Architect
Team Size: 4
DrupalMagentoReactGraphQLHeadless CMS

Architectural conception and support for the new website of salz.ch using a headless approach with Drupal CMS, Magento Backend, and React Frontend.

Technical Challenges

  • Integrating multiple backend systems (Drupal and Magento)
  • Creating a unified data interface for the frontend
  • Ensuring consistent user experience across different data sources
  • Optimizing performance with complex data requirements

Solutions

Developed a unified GraphQL interface for data integration from various services, allowing the React frontend to consume data from both Drupal CMS and Magento e-commerce backend.

Outcomes

  • Seamless integration between content management and e-commerce
  • Improved developer experience with GraphQL API
  • Enhanced content management capabilities for editorial team
  • Optimized performance through efficient data fetching

Project Overview

This project involved the architectural conception and implementation of a new website for salz.ch using a modern headless approach. The architecture integrated Drupal CMS for content management, Magento for e-commerce functionality, and a React frontend for presentation. The key innovation was developing a unified GraphQL interface that seamlessly integrated data from these diverse backend systems.

Technical Challenges

The implementation presented several significant technical challenges:

  • Integrating multiple backend systems: We needed to create a cohesive architecture that combined Drupal CMS for content management and Magento for e-commerce functionality.
  • Creating a unified data interface: The React frontend needed a consistent way to access data from both systems without having to handle different API formats.
  • Ensuring consistent user experience: Users needed a seamless experience when moving between content-focused and e-commerce sections of the site.
  • Optimizing performance: With data coming from multiple sources, we needed to ensure efficient data fetching and caching strategies.

Solutions Implemented

To address these challenges, we:

  1. Developed a unified GraphQL API layer that abstracted the underlying data sources
  2. Created custom resolvers to transform and combine data from Drupal and Magento
  3. Implemented efficient caching strategies to optimize performance
  4. Designed a component-based React frontend that could work with the unified data model
  5. Established clear boundaries between content management and e-commerce functionality

Outcomes

The project was a success, with the following outcomes:

  • Seamless integration between content management and e-commerce functionality
  • Improved developer experience through a consistent GraphQL API
  • Enhanced content management capabilities for the editorial team
  • Optimized performance through efficient data fetching and caching
  • Flexible architecture that could accommodate future extensions