Files
web/README.md
Joakim Jäderberg f27ba7ccb6 Merged in chore/release-pipeline (pull request #3352)
Add scripts for handling deployments

Approved-by: Linus Flood
2025-12-16 11:42:51 +00:00

54 lines
2.6 KiB
Markdown

# 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](https://nextjs.org/) app for our public website [scandichotels.com](https://scandichotels.com).
- `scandic-redirect`: Netlify Functions that handle redirects for `scandic-web`.
- `partner-sas`: [Next.js](https://nextjs.org/) app for our partner site [sas.scandichotels.com](https://sas.scandichotels.com). (⚠️ Work in progress ⚠️)
- `redis-api`: API wrapping [Redis](https://redis.io/) 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](https://nextjs.org/) app.
- `trpc`: A [tRPC](https://trpc.io/) 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](https://turborepo.com/) 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
- [Deploy](./docs/deploy.md)
- [Icons](./docs/icons.md)
- [Payment](./docs/payment.md)
- [Translations (i18n)](./docs/translations.md)