# backend This backend is a [node.js](https://nodejs.org/) [express.js](https://expressjs.com/) [apollo server](https://www.apollographql.com/docs/apollo-server/) project in a [yarn workspace](https://yarnpkg.com/features/workspaces). ## Getting Started ### Install dependencies In the root of the project, run: ```zsh yarn ``` ### Build backend ```zsh yarn build --ignore frontend ``` ### Environment variables #### Local Copy the `environments/local.toml.example` file to `environments/local.toml`: ```zsh cp environments/local.toml.example environments/local.toml ``` #### Staging environment variables In the deployment repository, update staging [staging/configmaps/config/prod.toml](https://git.vdb.to/cerc-io/snowballtools-base-api-deployments/src/commit/318c2bc09f334dca79c3501838512749f9431bf1/deployments/staging/configmaps/config/prod.toml) #### Production environment variables In the deployment repository, update production [production/configmaps/config/prod.toml](https://git.vdb.to/cerc-io/snowballtools-base-api-deployments/src/commit/318c2bc09f334dca79c3501838512749f9431bf1/deployments/production/configmaps/config/prod.toml) ### Run development server ```zsh yarn start ``` ## Deployment Clone the [deployer repository](https://git.vdb.to/cerc-io/snowballtools-base-api-deployments): ```zsh git clone git@git.vdb.to:cerc-io/snowballtools-base-api-deployments.git ``` ### Staging ```zsh echo trigger >> .gitea/workflows/triggers/staging-deploy git commit -a -m "Deploy v0.0.8" # replace with version number git push ``` ### Production ```zsh echo trigger >> .gitea/workflows/triggers/production-deploy git commit -a -m "Deploy v0.0.8" # replace with version number git push ``` ### Deployment status Dumb for now - [Staging](https://snowballtools-base-api.staging.apps.snowballtools.com/staging/version) - [Production](https://snowballtools-base-api.apps.snowballtools.com/staging/version) Update version number manually in [routes/staging.ts](/packages/backend/src/routes/staging.ts)