You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
ZAPIER_TOKEN= # Zapier automation (legacy - see SIMPLYBOOK_WEBHOOK_SECRET)
46
48
SLACK_WEBHOOK_URL= # Slack messaging bots
47
-
CRISP_TOKEN= # Crisp chat
49
+
FRONT_SUPPORT_EMAIL= # (optional) Front sender address used to distinguish agent replies in chat history; defaults to support@bloom.chayn.co
48
50
MAILCHIMP_API_KEY= # Email messaging
49
51
RESPOND_IO_CREATE_CONTACT_WEBHOOK= # RESPOND.IO
50
52
RESPOND_IO_DELETE_CONTACT_WEBHOOK= # RESPOND.IO
@@ -61,3 +63,21 @@ The frontend and backend each have _required_ and _optional_ environment variabl
61
63
Note: Variables provided by Chayn are public, not linked to production, and subject to change at any time. Check for updates if you are experiencing problems. The absence of some optional environment variables may result in test failures. If you require an optional environment variable and cannot acquire it yourself (some must be connected to Chayn in some way), please reach out to the team in GitHub’s issue discussions.
62
64
63
65
**Please notify us if creating new environment variables in your PR so we can add it to Render before release deployment.**
66
+
67
+
## Simplybook Variables
68
+
69
+
`SIMPLYBOOK_CREDENTIALS` must be a JSON string with the following shape:
For production, use a Simplybook **API User Key** (`api_user_key_...`) as the `login` value — this bypasses IP verification restrictions on the admin API.
76
+
77
+
`SIMPLYBOOK_WEBHOOK_SECRET` is the shared secret used to authenticate incoming webhooks from Simplybook at `POST /api/webhooks/simplybook-admin`. Configure the same value as the `?token=` query parameter in the Simplybook webhook callback URL:
`SIMPLYBOOK_TOTP_SECRET` is required when 2FA is enabled on the Simplybook admin account. It is the base32 TOTP secret shown during 2FA setup (the same secret you scan into an authenticator app). Leave unset if 2FA is not enabled.
4.[Run the app using Docker, Dev Containers, or Manually](#4-run-the-app-locally)
11
+
5.[Populate the database](#5-populate-the-database-and-database-migrations)
12
12
13
13
To test the backend:
14
14
15
-
-Run unit tests
16
-
-Run e2e integration tests from the frontend for full-stack contributions
15
+
6.[Run unit tests](#6-unit-testing)
16
+
7.[Run e2e integration tests from the frontend for full-stack contributions](#7-format-and-linting)
17
17
18
-
## Prerequisites
18
+
-[Git Flow and Deployment](#git-flow-and-deployment)
19
+
-[APIs](#apis)
20
+
21
+
22
+
## 1. Prerequisites
19
23
20
24
- NodeJS v22.x
21
25
- Yarn v1.x
22
26
- Docker and / or PostgreSQL
23
27
24
28
_Recommended Minimum System Requirements: CPU: Quad-core 2.5 GHz (i5/Ryzen 5), Memory: 16 GB RAM, Storage: 512 GB, OS: Linux, macOS, Windows, or WSL2 (latest versions), Internet Connection: For accessing dependencies and external APIs/services._
25
29
26
-
## Configure Environment Variables
30
+
## 2. Configure Environment Variables
27
31
28
32
See [configure-env.md](configure-env.md) for instructions on configuring environment variables.
29
33
30
-
## Install dependencies with yarn
34
+
## 3. Install dependencies with yarn
31
35
32
36
```bash
33
37
yarn
34
38
```
35
39
36
-
## Run the App Locally
40
+
## 4. Run the App Locally
37
41
38
42
There are 3 methods you can use to run Bloom’s backend locally:
39
43
@@ -97,7 +101,13 @@ You should see this in the shell output:
97
101
Listening on localhost:35001, CTRL+C to stop
98
102
```
99
103
100
-
## Unit Testing
104
+
## 5. Populate the Database and Database Migrations
105
+
106
+
Populating your local database with test data is required for running Cypress integration tests and testing Bloom’s full-stack functionality.
107
+
108
+
See the [database-guide.md](database-guide.md) for instructions.
109
+
110
+
## 6. Unit Testing
101
111
102
112
To run all unit tests
103
113
@@ -111,7 +121,7 @@ To have your unit tests running in the background as you change code:
111
121
yarn test:watch
112
122
```
113
123
114
-
## Format and Linting
124
+
## 7. Format and Linting
115
125
116
126
Linting and formatting are provided by [ESLint](https://eslint.org/) and [Prettier](https://prettier.io/). We recommend VSCode users to utilize the workspace settings in [.vscode/settings.json](.vscode/settings.json) and install the extensions in [.vscode/extensions](.vscode/extensions.json) for automated consistency.
117
127
@@ -135,12 +145,6 @@ Run format and fix:
135
145
yarn format
136
146
```
137
147
138
-
# Populate the Database and Database Migrations
139
-
140
-
Populating your local database with test data is required for running Cypress integration tests and testing Bloom’s full-stack functionality.
141
-
142
-
See the [database-guide.md](database-guide.md) for instructions.
143
-
144
148
# Git Flow and Deployment
145
149
146
150
**The develop branch is our source of truth, not main.** Fork from `develop`, create new feature branch, then when your PR is merged, `develop` will automatically merge into the main branch for deployment to production. Keep your branch updated by rebasing and merging feature/bug branches into `develop` as you code.
0 commit comments