> ## Documentation Index
> Fetch the complete documentation index at: https://demo-travel.webbinghub.io/docs/llms.txt
> Use this file to discover all available pages before exploring further.

# Run Omnibeds locally and check a change

> Start the Omnibeds app on your machine, apply database migrations, and run the type, lint, unit, end-to-end and live supplier checks before you commit.

Omnibeds is a Next.js app, so you start it, migrate it and test it with npm scripts from the project's `package.json`. This page lists those scripts in the order you use them while working on a change.

> [!NOTE]
>
> Supplier keys and the database connection live only in `.env.local` on your machine and in the hosting provider's settings. They are never committed, and these docs never show them.

## Work on a change

**1. Start the app**

```bash theme={null}
npm run dev
```

The dev server runs on port 3086, so open `http://localhost:3086`.

**2. Apply database migrations**

```bash theme={null}
npm run db:migrate
```

This applies every migration the database hasn't had yet. Running it again changes nothing. See [Data](https://demo-travel.webbinghub.io/docs/architecture/data.md).

**3. Check types and lint**

```bash theme={null}
npm run typecheck
npm run lint
```

**4. Run the unit tests**

```bash theme={null}
npm test
```

Database tests run against an in-process Postgres (PGlite), so they never touch a real database.

**5. Run the end-to-end tests**

```bash theme={null}
npm run test:e2e
```

Playwright starts the app itself and drives the real screens: search, booking, quotes, trips, documents and every screen in both languages.

**6. Build for production**

```bash theme={null}
npm run build
```

## Live supplier checks

```bash theme={null}
npm run test:live
```

These tests call the real suppliers' test environments, so they spend real quota. Every test that makes a booking cancels it at the end, even when the test fails. Run them when you change a supplier adapter, not on every change.

## What to read next

> [card] [The layers](https://demo-travel.webbinghub.io/docs/architecture/layers.md)
>
> Where your change belongs.

> [card] [Testing](https://demo-travel.webbinghub.io/docs/operations/testing.md)
>
> What each kind of test covers, and the boundary tests.


This documentation is built and hosted on [Mintlify](https://mintlify.com), a developer documentation platform.