SPUR needs a streamlined digital platform to manage startup on-boarding, review, and funding processes. The current system relies on fragmented communication channels, creating inefficiencies for both SPUR administrators and startup applicants.
Deployment overview: pr -> main -> staging -> production -> new tag for new version
From pr-branch -> main
Note
This flow will deploy to the sandbox environment where the database can be reset. This means that migration files can be directly updated. If a merge results badly, it will be caught in this environment without damaging staging and production.
From main -> staging
Note
This flow will deploy to the staging environment where the database and environment can't be reset and mimic the production environment. This is where stable features are in the sandbox environment and are ready to be deployed to production. Anything that goes wrong in this environment will be fixed as if it was a problem in production. This ensures data changes are not causing any data loses before going to production.
From staging -> production
Note
This flow will deploy to production. Before merging, it is CRUCIAL to check that everything is working as expected in the staging environment.
Note
This is the monorepo containing the backend and frontend code for the webapp, as well as code related to the Web3 infrastructure
Clone the repo
git clone https://github.com/KonferCA/SPUR-Onboard.gitFrom your terminal, navigate to the root path of your clone
cd path/to/your/cloneSPUR backend requires Go version 1.23 or higher for best compatibility. If you need to install or upgrade Go, visit the official Go download page.
From your terminal, navigate to the backend path of your clone
cd path/to/your/clone/backendAir (auto-reload backend)
go install github.com/air-verse/air@v1.61.1SQLc (generate type-safe code from SQL queries)
go install github.com/sqlc-dev/sqlc/cmd/sqlc@v1.27.0Goose (SQL migration management tool)
go install github.com/pressly/goose/v3/cmd/goose@v3.22.1Goimports (Code formatting tool)
go install golang.org/x/tools/cmd/goimports@latestMake
brew install makeDocker
brew install dockerImportant
Make commands only work on unix like systems.
Create a new PostgreSQL instance using Docker
make init-dev-dbStart PostgreSQL for development
make start-dev-dbCheck health of DB
make health-dev-dbRun migrations when ready
make upStart development server
make devNote
Use make query "SELECT ... FROM ..." for quick query on the terminal.
You should also checkout the other available commands in the Makefile.
SPUR frontend requires Node version 22.9.0 or higher for best compatibility. If you need to install or upgrade Node, visit the official Node download page.
From your terminal, navigate to the backend path of your clone
cd path/to/your/clone/frontendInstall pnpm using npm
npm install -g pnpmInstall dependencies
pnpm iRun local server
pnpm dev