Before compiling and running our application, we need to install/setup several languages, package managers, and various tools. The installation process can vary, so follow the instructions for each item below!
Nix our devshell, standarizing the development environment for all engineers.
Go our primary backend language.
Node Package Manager our package manager in the frontend.
Docker and Docker Desktop our Postgres Database will be containerized in Docker.
Ngrok Allows us to easily connect the frontend to backend code.
Create an .env file in the root directory:
SUPABASE_URL=<your-supabase-url-here>
SUPABASE_ANON_KEY=<your-supabase-anon-key-here>
DATABASE_URL<your-supabase-db-url-here>
SUPABASE_PROJECT_ID=<your_supabase_project_id_here>
SUPABASE_JWT_SECRET=<your_supabase_jwt_secret_here>
EXPO_PUBLIC_DOMAIN=<your_expo_public_domain>
Create a supabase account here and Cam and I will add you to the Generate org!
- In the base of the repo: run
nix develop --impure
- Launch Docker Desktop
- In the base of the repo: run
make db-run
- Then, open a new tab to run commands in: run
make backend-dep
thenmake backend-run
- Next, in a new tab run
make ngrok-run
- Finally, open one last new tab: run
make frontend-run