2025-10-20 10:43:08 +00:00

Scandic Monorepo

This is the monorepo for Scandic Hotels' web projects. It includes multiple apps and packages that together make up the Scandic Hotels web ecosystem.

What's inside?

Apps

Inside the /apps directory, you'll find our standalone sites and APIs:

  • scandic-web: Next.js app for our public website scandichotels.com.
  • scandic-redirect: Netlify Functions that handle redirects for scandic-web.
  • partner-sas: Next.js app for our partner site sas.scandichotels.com. (⚠️ Work in progress ⚠️)
  • redis-api: API wrapping Redis that we use for caching.

Packages

Inside the /packages directory, you'll find our shared libraries and utilities:

  • design-system: A shared library of styles and components used by our React apps.
  • booking-flow: This is our booking flow that is used by both scandic-web and partner-sas. It's built to be used by a Next.js app.
  • trpc: A tRPC data layer that connects our apps and packages to the backend APIs.
  • common: A collection of shared utilities, helpers and types used across both our apps and our packages.
  • typescript-config: Shared TypeScript configs for all apps and packages.

A note about dependencies between our apps and packages: In general all apps are allowed to depend on any package, but packages have a few caveats:

design-system should never import from booking-flow or trpc. common should never import from anything except typescript-config.

Getting Started

To get started, clone this repository and run yarn install in the root directory. We use Turbo to handle our monorepo tasks.

See package.json for all available scripts, but here's the most commonly used:

  • yarn dev:web: Start the development server for the scandic-web app.
  • yarn dev:sas: Start the development server for the partner-sas app.
  • yarn dev:ds: Start the development server for the design-system package.
  • yarn lint: Run ESLint and type checking across all apps and packages.
  • yarn test: Run tests for the codebase.

If this is the first time you are running one of our apps you can run yarn env:web or yarn env:sas to see what environment variables you need for those apps.

For more details see the respective apps and packages' README files.

More documentation

Description
No description provided
Readme 80 MiB
Languages
TypeScript 90.3%
CSS 7.6%
JavaScript 1.9%