~ git clone https://git.cass.si/stageup.git
~ git clone https://git.cass.si/stageup.git
StageUp is a virtual events platform for performing arts.
Refer to README.md for installing Git, Node, NPM, Docker, PostgreSQL, Redis & NX.
Then, if you haven't already, you need to pull the project from GitHub to your local machine.
Before doing this, set up an SSH key for GitHub by following GitHub's "Connect with SSH" guide: https://docs.github.com/en/github/authenticating-to-github/connecting-to-github-with-ssh/generating-a-new-ssh-key-and-adding-it-to-the-ssh-agent
Then, pull this project onto your machine by entering the following command into a terminal:
git clone git@github.com:StageUp/core.git
Once you've completed the prereuisites above, for each application, review the setup instructions in each of these files:
apps/backend): README.mdapps/frontend): README.mdapps/api-tests): README.mdterraform): README.mdFor additional documentation on some of these and other topics, see our Notion Software Wiki.
npm run startAll packages that are used throughout all apps & libs are defined within a single package.json, for purposes of having consistent versioning across all projects. Run npm install --force in the project root to install all required dependencies. Production builds perform tree-shaking optimization to remove unused libraries, so ensure you always use ES6 import syntax.
npm run start & pick backend from the TUI
GET request)npm run start, and select the frontendapi-teststesting in Postgresnpm run backend:serve:testingnpm run api-testsWatch Usage, press p to filter by filename regexonboarding.story.ts & press enterapps
frontend # the stageup frontend
nginx.conf # nginx config for frontend server
src.app # front-end routes, components & services
src.assets # media
src.i18n # internationalisation files
src.styles # global styles & Tailwind imports
backend # the stageup backend
src.modules # various sections of the backend
src.i18n # internationalisation files, inc. tokens file
seeder # database seeder
api-tests # integration tests
reverse-proxy # nginx reverse proxy for blog/wordpress/prod app
libs # where all shared code lives
interfaces # shared typescript interfaces
ui-lib # frontend generic angular component library
shared
api # shared backend services utilities
data-client # utils for interacting with data sources
entities # typeorm schema
event-bus # event types & contracts
helpers # utility functions for backend & frontend
terraform # IaC automated deployment
modules # Terraform Modules, backend, redis etc.
core # non-ephemeral infrastructure
tools # non-source code stuff
generate-xlf # XLF translation script
generate-uml.ts # creates a plant-uml diagram of models
.github # github actions
.vscode # editor settings
nx.json # nx workspace config
package.json # where _all_ packages are listed
tsconfig.base.json # base ts config
workspace.json # where all apps/libs are defined
docker-compose.yml # local stack deployment
ship.config.js # ship.js automated versioning & release config
.env # .env for github tokens (deployment only)
.env.example # example .env
.env.development # also .env.staging, .testing & .production
Below are some common errors we've seen devs experience when setting up their envs:
"