A website or an app
Arc CMS has two uses: a website built on it as it comes, or a custom app built on a copy of it. Pick one before you install, because it decides where your work goes.
The two uses side by side
| A website on Arc CMS | A custom app on a copy of Arc CMS | |
|---|---|---|
| What you build | A content site: pages, articles, search, sign-up forms, email | Your own product with its own screens, data and logic, plus everything Arc CMS already does |
| Where the work happens | Mostly in the admin area, plus the website's own files in src/custom/site/: HTML templates, static pages, header and footer | In the custom space: src/custom/, functions/src/custom/, the app's own rules and indexes files, and custom/ for scripts and data |
| Code you write | HTML and CSS for templates; no TypeScript | Angular pages, Cloud Functions and security rules, in TypeScript |
| Arc CMS files | Used as they are, apart from your templates and static pages in public/ | Never edited: npm run check:core fails when one changes |
| Getting Arc CMS updates | See Upgrade Arc CMS | Merge from the upstream remote (see Keep core untouched) |
| Features you do not need | Turned off in src/custom/features.ts | Turned off in src/custom/features.ts |
| Start here | Build a website | Build a custom app |
Which one to pick
Pick a website when what you ship is mostly content that people read, search and sign up from, and the people who run it will do so from the admin area. You can go live without writing any TypeScript.
Pick a custom app when you need screens, data or server logic that Arc CMS does not have, such as a member area with your own tools, your own collections, or paid features. You get sign-in, roles, email, payments and the admin area for free, and write only what makes your app yours.
If you are unsure, start with a website. A website can grow into an app later: the custom space is already in every copy, empty until you use it.
Arc CMS as the backend of an app that already exists
If you already have an app on Firebase and want Arc CMS as its admin area, content store or email engine, install Arc CMS in the same Firebase project next to it. Arc CMS then keeps its own Firestore database, its own Hosting site (or none) and its own storage bucket, so neither app touches the other's data or rules. This is the backend install profile (see Configure a project).
- Share a Firebase project: set up the two apps side by side.
- Connect your app's users: make your app's users an audience Arc CMS can email.
- Follow the account contract: how accounts, claims and per-person data line up between the two apps.
Next
Check the Requirements, then Install.