Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

docs: multibrand #7407

Open
wants to merge 27 commits into
base: main
Choose a base branch
from
Open
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
27 commits
Select commit Hold shift + click to select a range
c71917d
feat: lay foundation (#7381)
grixu Feb 4, 2025
c435c0d
docs(TF-404): file based inheritance (#7389)
jagoral Feb 17, 2025
7bc5bbf
docs(TF-407): adding integration tests (#7393)
jagoral Feb 17, 2025
683b5c5
fix: syntax error
jagoral Feb 18, 2025
e524220
docs(TF-405): managing the stores (#7391)
jagoral Feb 19, 2025
408cc71
docs(TF-406): local development (#7390)
jagoral Feb 19, 2025
53fe252
docs: Introduction to multibrand (#7382)
filrak Feb 19, 2025
00d61a0
docs(TF-408): how deployment works (#7400)
jagoral Feb 25, 2025
9da252b
Merge branch 'main' of https://github.com/vuestorefront/vue-storefron…
jagoral Feb 25, 2025
2c6538f
Merge branch 'docs/multibrand' of https://github.com/vuestorefront/vu…
jagoral Feb 25, 2025
fc16790
docs(TF-410): multibrand ci/cd (#7401)
jagoral Feb 25, 2025
d3b7ca0
docs(TF-409): deployment configuration (#7398)
jagoral Feb 25, 2025
09d8b85
chore: clean up
grixu Feb 25, 2025
5e1d750
Comment out CDN in data fetching guide (#7404)
mateuszo Feb 25, 2025
0a6375f
docs: update handling custom occ endpoints recipe (#7405)
mateuszo Feb 25, 2025
bb4489c
fix: guides
grixu Feb 25, 2025
7d06be3
Merge branch 'main' into docs/multibrand
grixu Feb 25, 2025
2f1b9cb
remove icons and add descriptions
filrak Feb 25, 2025
1569b49
Merge branch 'docs/multibrand' of https://github.com/vuestorefront/vu…
filrak Feb 25, 2025
a4cfb9d
remove link to patterns from cli reference
filrak Feb 25, 2025
c4c5fab
move performance to best practices
filrak Feb 25, 2025
5d2bd38
Imp. descriptions in best practices
filrak Feb 25, 2025
81b5535
fix: missing description
grixu Feb 25, 2025
c4ef339
fix: not working image
grixu Feb 25, 2025
b2125f8
fixes for image and missing next step
filrak Feb 25, 2025
434592d
Merge branch 'docs/multibrand' of https://github.com/vuestorefront/vu…
filrak Feb 25, 2025
8c81d35
change button to arrow link in file inheritance doc
filrak Feb 25, 2025
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
26 changes: 17 additions & 9 deletions docs/content/1.index.md
Original file line number Diff line number Diff line change
Expand Up @@ -3,29 +3,37 @@ layout: fullscreen
hideFromSiteSearch: true
---

::info
#title
Looking for v2 docs?
#default
These docs are for projects using the Alokai SDK, if you're looking for our Nuxt 2 based solutions, please visit our [v2 docs](https://docs.alokai.com/v2).
::

# [Alokai Docs]{.text-4xl.mt-8.block}


Alokai is a Frontend-as-a-Service that provides several tools to help you build performant, scalable, and customizable eCommerce storefronts. From UI libraries and integrations, to deployment and monitoring, we can help you build the ideal headless commerce experience.

::card{title="Getting Started" icon="IconVsf" iconClass="text-primary-500" :coloredIcon="false" }
::grid{:columns='2'}
#section-1
::card{title="Learn the concepts" icon="IconVsf" iconClass="text-primary-500" :coloredIcon="false" class="mb-5"}

#description
Set up a new Alokai project or learn more about our architecture, project principles, and all of the ways that the Alokai ecosystem can help you build better storefronts.
Learn more about our architecture, project principles, and all of the ways that the Alokai ecosystem can help you build better storefronts.

#cta
:::docs-arrow-link{to="/general"}
Learn more
:::
::

#section-2
::card{title="Learn the tools" icon="IconVsf" iconClass="text-primary-500" :coloredIcon="false" }

#description
Learn how to use Alokai hands on from our guides. This is the best place to start if you want to skip the theory and make yoru hands dirty.

#cta
:::docs-arrow-link{to="/guides"}
Learn more
:::
::

::

## Products and Features

Expand Down
8 changes: 2 additions & 6 deletions docs/content/cookbook/1.index.md
Original file line number Diff line number Diff line change
Expand Up @@ -6,9 +6,5 @@ navigation:

# Cookbook

::grid{:columns="3"}
#section-1
:card{to="/cookbook/oss-deployment-guide" title="OSS Deployments" description="Deploy to a linux server" icon="typcn:arrow-up-outline"}


::
:card{to="/cookbook/handling-custom-occ-endpoint" title="Handling Custom OCC Endpoints" description="It is a common task to add support for a custom (non-standard) SAP OCC API endpoint not covered by the Alokai intergration.
This guide will show you how can do it using Alokai." icon="typcn:arrow-up-outline"}
49 changes: 34 additions & 15 deletions docs/content/guides/1.index.md
Original file line number Diff line number Diff line change
Expand Up @@ -9,33 +9,52 @@ Welcome to the guides section of the documentation. Here you will find a collect

At **Alokai**, we are committed to providing the best possible experience for our users. We are constantly working on improving our documentation and adding new guides to help you get the most out of the platform.

## Getting Help
If you have any questions or need help with anything, please don't hesitate to get in touch with us in our [Discord](https://discord.vuestorefront.io/). We are always happy to help.

## Alokai Guides

## Learn Alokai

::grid{:columns='3'}
Follow this path to understand how to use Alokai and start building your Alokai application following performance best practices.
::steps

#section-1
:card{to="/guides/alokai-essentials" title="Alokai Essentials" description="Learn how to build Alokai Application: From 0 to Hero. Understand how different parts of our stack will help you to build your Alokai application." icon="tabler:123"}
#step-1
::card{title="Alokai Essentials" to="/guides/alokai-essentials" class="mb-5 !h-auto"}
#description
Learn how to build Alokai Application: From 0 to Hero. Understand how different parts of our stack will help you to build your Alokai application.
::

#step-2
::card{title="Customization" to="/guides/customization-next-js" class="mb-5 !h-auto"}
#description
Alokai is not a cookie-cutter solution, it is meant to be able to handle even the most complex use cases. This guide will take you through the most common customization scenarios.
::

#section-2
:card{to="/guides/performance" title="Performance" description="Improve your website's user experience and increase conversions by optimizing your website's performance." icon="gg:performance"}
#step-3
::card{title="Multistore" to="/guides/multistore" class="mb-5 !h-auto"}
#description
Learn how to create efficient and unified multigeo/multibrand/multivendor setups with Alokai.
::

#section-3
:card{to="/guides/customization-next-js" title="Customization" description="Alokai is not a cookie-cutter solution, it is meant to be able to handle even the most complex use cases. This guide will take you through the most common customization scenarios." icon="tabler:tool"}
::

#section-4
:card{to="/guides/kubernetes-probe" title="Kubernetes Probes" description="Alokai Cloud customers' middleware and frontend apps are deployed in Kubernetes. Check how Kubernetes mechanisms are used by Alokai Cloud" icon="tabler:heart-rate-monitor"}
## Advanced

#section-5
:card{to="/guides/best-practices" title="Best Practices" description="Check what to follow to keep your storefront in the best possible shape" icon="tabler:rosette-discount-check"}
::card{title="Kubernetes Probes" to="/guides/kubernetes-probe" class="mb-5" icon="tabler:heart-rate-monitor"}
#description
Learn how to implement health check endpoints for your Alokai Cloud applications running on Kubernetes. This guide covers liveness and readiness probes implementation to ensure proper application monitoring and reliability.
::

## Best Practices

::card{title="Performance" to="/guides/best-practices/performance" class="mb-5" icon="tabler:rosette-discount-check"}
#description
Every 100ms added to loading time costed Amazon 1% less sales. Don't let the poor performance to ruin your sales. Learn how to optimize your store for speed.
::

::card{title="Data Fetching" icon="tabler:mobiledata" to="/guides/best-practices/data-fetching" }
#description
Learn how to optimize your data fetching strategy to improve performance and avoid caching errors.
::

::info
Can't find what you're looking for? Check out our [cookbook](/cookbook) for more guides and tutorials.
::
::
5 changes: 0 additions & 5 deletions docs/content/guides/3.performance/_dir.yml

This file was deleted.

15 changes: 14 additions & 1 deletion docs/content/guides/6.best-practices/1.index.md
Original file line number Diff line number Diff line change
@@ -1,5 +1,18 @@
---
title: Guides
layout: default
---

# Best Practices

In this guide, we have compiled a collection of best practices to help you optimize your development workflow, improve code quality, and ensure maintainability.

::card{title="Data Fetching" icon="tabler:mobiledata" to="/guides/best-practices/data-fetching" }
::card{title="Performance" to="/guides/best-practices/performance" class="mb-5" icon="tabler:rosette-discount-check"}
#description
Every 100ms added to loading time costed Amazon 1% less sales. Don't let the poor performance to ruin your sales. Learn how to optimize your store for speed.
::

::card{title="Data Fetching" icon="tabler:mobiledata" to="/guides/best-practices/data-fetching" }
#description
Learn how to optimize your data fetching strategy to improve performance and avoid caching errors.
::
3 changes: 3 additions & 0 deletions docs/content/guides/6.best-practices/3.performance/_dir.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,3 @@
title: Performance
sidebarRoot: true

26 changes: 26 additions & 0 deletions docs/content/guides/7.multistore/1.index.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,26 @@
---
title:
layout: default
---

# Multistore

On this page you'll find a set of guides that will help you to understand the fundamentals of Alokai and how different parts of our stack will help you to build your Alokai application.

Below you will find a list of guides to help you get started with Alokai.

::card{title="Introduction" icon="tabler:align-box-center-middle" to="/guides/multistore/introduction" }

#description
Learn what challenges the Alokai Multistore solution addresses and how it can help you solve them.
::

<br />

::card{title="Tooling and concepts" icon="tabler:tools" to="/guides/multistore/tooling-and-concepts" }

#description
Learn the concepts and tools behind the Alokai Multistore solution.
::

<br />
73 changes: 73 additions & 0 deletions docs/content/guides/7.multistore/1.introduction/1.index.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,73 @@
---
title: The Multistore Problem and Alokai's Solution
layout: default
---

# The Multistore Problem and Alokai's Solution

## TL;DR
Multistore commerce brings a huge maintenance burden for merchants. Alokai solves this problem by allowing you to reuse the common parts between stores. You only need to write and maintain the distinct parts of the stores. This is achieved by the file inheritance mechanism. It works similar to CSS cascading, each layer can override any file from your source code or previous layers while keeping the rest intact.
<img src="../img/inheritance-simplified.png" alt="Alokai Multistore's Inheritance Mechanism" class="mx-auto">

Read on to learn more about the multistore problem and Alokai solution or [jump straight to the practical part](/guides/multistore/tooling-and-concepts).

## Challenges of Scaling eCommerce Setups

**Expanding an eCommerce business across multiple brands, geographies, and touchpoints is a logistical and technical minefield. As companies grow, agility often takes a hit—slowing down innovation, increasing overhead, and complicating operations.**

Businesses often start with a single eCommerce platform, designed for a specific market and use case. Growth then happens through expansion into new touchpoints (mobile apps, marketplaces, social commerce), new geographies, or acquiring brands with their own tech stacks. **Over time, what was once a streamlined setup becomes fragmented, introducing complexity that makes agility and scalability difficult.**

How do you maintain speed and adaptability while managing multiple storefronts, integrating new acquisitions, and expanding into new markets?

## How Alokai Solves the Multistore Problem

**Most eCommerce applications share 60-80% of their functionality, regardless of geography, touchpoint, or brand.** The foundation for every eCommerce store is always the same - product catalog, cart, checkout, user profile. Alokai provides an efficient setup that prioritizes reuse of common components and ease of maintainability.

<img src="../img/reusable-core.png" alt="From multiple repositories into a unified codebase with reusable code" class="mx-auto">

At Alokai, we've been building universal eCommerce applications that cover different use cases around B2B and B2C since 2017. We've put all of our knowledge about reusability and configurability of eCommerce storefronts into our Multistore product so you can leverage it without years of discovering solutions to different problems and their edge cases.

We guarantee that it is the most optimal way to run complex eCommerce setups.

As a rule of thumb, **the more complex your setup is, the more value we can bring to your business**. Multiple vendors, technologies, geographies, touchpoints, brands, catalogs... - the more complexity you struggle with now, the more you can gain!

Let's see how, on a high level, Alokai addresses different components of the Multistore problem.

### End-to-End Solution for an End-to-End Problem

**Multistore is not a single problem to solve.** It is a set of challenges that must be solved individually, and making those solutions work well together is another problem to solve. There is a lot of complexity in it that spreads across all the application layers - UI, frontend logic, data, vendors, and infrastructure. It's not easy to find a solution that works for every use case. It's hard to combine them to fulfill the ones you want to cover, and it's almost impossible to pick ones that will work for multiple projects, often with different goals.

<img src="../img/end-to-end-solution.svg" alt="End-to-end solution for ecommerce and multistore" class="mx-auto">

For that, you need an end-to-end solution. A platform that covers all the layers and is specifically built to solve end-to-end problems rather than one from a specific domain. This is where Alokai comes in.

We provide an end-to-end solution that goes through all the layers of an eCommerce project from design to deployment. You can read more about Alokai products and stacks [here](/general#our-products).

### Inheritance Ensures Maximum Reusability Without Limiting Customization

The key pattern behind Alokai's Multistore solution is the file inheritance mechanism. Think of it like CSS cascading - each layer can override any file from your source code or previous layers while keeping the rest intact. This includes pages, components, layouts, styles, public assets, and any other project files.

<img src="../img/inheritance-simplified.png" alt="Alokai Multistore's Inheritance Mechanism" class="mx-auto">

This approach ensures maximum reusability of common parts while leaving full freedom to customize per store.

### Unified Data Layer

The [Unified Data Layer](/unified-data-layer) allows you to keep the same data model used across all stores even if the underlying technologies are different. This way, you don't need to build alternative versions of the UI and business logic for each vendor. Even if your API stack is not consistent across brands or regions, you can still have a single, unified core UI and logic shared across all of them.

### Freedom in How You Build and Deploy

The solution is flexible and allows you to optimize the ways you want to develop and deploy the application separately.

This means that you can deploy completely separate storefronts or a single store with multiple variations from the same repository. One does not influence the other, so you can optimize the workflow and deployment to fit your needs without tradeoffs.

::card{title="Next: Use Cases" to="/guides/multistore/use-cases"}

#description
Learn the most common use cases that Alokai Multistore was built for.

#cta
:::docs-arrow-link{to="/guides/multistore/use-cases"}
Next
:::
::
Loading
Loading