> For the complete documentation index, see [llms.txt](https://codemash.gitbook.io/codemash/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://codemash.gitbook.io/codemash/cloud/concepts/projects-and-environments.md).

# Projects and environments

A project is one backend; environments are separate sets of integrations and content inside it.

You usually build more than one app, and every app needs a safe place to try changes before real users see them. Norbix solves the first with **projects** and the second with **environments**.

## How Norbix models it

```
Account (acc_…)  — you and your team, your subscription or licence
 └─ Project (pr_…)  — one backend: its modules, users, settings
     ├─ PROD  — always there; the default
     ├─ TEST  — optional, added by you
     └─ …     — up to the names you choose
         └─ integrations (database, email, push, …), schemas, templates, triggers
```

|                         | Project                                                                                    | Environment                                                                            |
| ----------------------- | ------------------------------------------------------------------------------------------ | -------------------------------------------------------------------------------------- |
| **What it is**          | One backend for one app                                                                    | A separate set of integrations and content inside a project                            |
| **Id / name**           | `pr_6JMU7afJi9tZQwfo6de4qq`, plus a name and a slug (`bookshop`)                           | `PROD`, `TEST`, … (1–15 upper-case letters, digits, spaces)                            |
| **Created**             | Cloud → **Create a new PROJECT**: name, **Location** (region), description, a database     | Project → Settings → **Environments** → **New environment**: name and its own database |
| **Starts with**         | PROD, the Database and Membership (Users) modules switched on                              | Its own database integration                                                           |
| **Removed**             | Project → Settings → **Termination**                                                       | **Delete environment** (PROD cannot be deleted)                                        |
| **How a call picks it** | `projectId` parameter or `norbix-project-id` header (the SDKs and the CLI send the header) | `norbix-env` header or `env` parameter; none = PROD                                    |

* **Location** is the region your project's data lives in (for example `nb-eu-germany`). It is chosen once, when you create the project.
* The **database** is chosen when you create the project: a managed MongoDB Flex cluster (**Mongo DB (Atlas Flex)**) or your own MongoDB (**Mongo DB (Connection String)**). It becomes the PROD database integration, named "Primary Database".
* **Promote** copies schemas, templates and triggers one step up the environment ladder (for example TEST → PROD). Integrations are never overwritten: each environment keeps its own provider settings and secrets. **Roll back** undoes the last promote.
* Trial accounts keep only PROD.
* How many projects you may create depends on your plan; the projects list shows it (**Create a new PROJECT \[2/25]** = 2 used of 25).

<figure><img src="https://712692422-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FHy372bqsaex2cqS3ikhL%2Fuploads%2Fgit-blob-71b95789c0b1b621208627ef1e69cec21ed74835%2Fkeys-and-environments-3.png?alt=media" alt="Project Settings, Environments tab with PROD marked current and a New environment button"><figcaption><p>Project Settings → Environments of a new project.</p></figcaption></figure>

## Where you use it

* Cloud: [Projects](/codemash/cloud/projects.md) · [Project settings → Environments](/codemash/cloud/project/settings/environments.md) · [Project settings](/codemash/cloud/project/settings.md)
* Get started: [Quickstart](/codemash/get-started/managed-service/quickstart.md) · [Keys and environments](/codemash/get-started/keys-and-environments.md)
* API: [Environments guide](/codemash/api-reference/guides/environments.md) · [Create project](/codemash/api-reference/account/projects/create-project.md) · [Create project environment](/codemash/api-reference/account/projects/create-project-environment.md) · [Promote environment](/codemash/api-reference/account/projects/promote-environment.md)
* SDK: [Install the SDK](/codemash/sdks/install.md) · CLI: [CLI](/codemash/cli/cli.md)
