Quick Start: Running locally w/o Docker (on MacOS or Linux)
Last updated
Last updated
If the dockerized approach is a no go, or you want to run things manually, these instructions should help.
Requires Node 18.18.2+ and a recent version of postgres.
UpGrade will also require Google account later in this setup in order to obtain authentication credentials from https://cloud.google.com/
Download and install the latest release of Postgres from
Open Postgres and click "Initialize".
Click "Server Settings" and change the name to "dev".
Download and install Datagrip from
Open Datagrip and click "New Project".
Enter "PostgreSQL" as a new project name and click "OK".
Click "+" -> "Data Source" -> "PostGreSQL".
Enter "postgres" for the "User" field and click "OK".
Backend:
Make a copy of env.example
In your Terminal window, type cd ~/UpGrade/backend/packages/Upgrade/
, then run the following command: npm run dev
In your Terminal window, type cd ~/UpGrade/frontend/
, then run the following command: npm run start
After the login, you should see the "Experiments" page with a welcome message, and two buttons to import or add an experiment.
Note:- After running both the frontend and backend, check DataGrip "{db-name} -> postgres -> public -> tables -> user" to verify whether your email has admin access.
After a few seconds, if you open in your browser, you should see something like the following on the page:{"name":"A/B Testing Backend","version":"6.1.0","description":"Backend for A/B Testing Project"}
After a few seconds, your default browser should automatically launch and display the login page. Or you can open in your browser and log in with your account.
Get the code from https://github.com/CarnegieLearningWeb/UpGrade (monorepo contains all packages):
By default you'll be checked out to the "dev" branch, which is the latest code, but unstable and meant for developers. For most users, switch to "main" for the latest stable build, "dev" is not going to be guaranteed to work.
Nav into root of project and run these commands to install dependencies.
This id will also need to be supplied in frontend/projects/upgrade/src/app/environments/environment.ts
Put the google client id from about into the field: `googleClientId`
CORS whitelist
Ensure that this line is present in you env
Google Client Id: Obtain a google client id and plunk it here ()
Note: There is a DOMAIN
env variable below this. If you want to restrict your user logins to your org's email domain, replace the value here with that domain. Otherwise, it should be left blank.
See other backend env option documentation .
Frontend:
Make a copy of environment.local.example.ts
See other frontend env option documentation . Admin User UpGrade will start up with certain users automatically added as admin roles. You will want to put your email address in so that after login, you will have all permissions for your user in the UI. You will know if this is set correctly if you are able to see the "Add Experiment" and "Import Experiment" buttons on startup. If they are missing, it means you are a "reader" role, check this env var.
See for other environment options.