⚡Quick Start: Running locally w/o Docker
Local setup (w/o docker)
If the dockerized approach is a no go, or you want to run things manually, these instructions should help (they are a bit dated, but should get you most of the way there!)
macOS
Backend
Make sure you have node.js installed. If not, download here and follow the installation instructions.
Download and install the latest release of Postgres from https://postgresapp.com/downloads.html
Open Postgres and click "Initialize".
Click "Server Settings" and change the name to "dev".
Download and install Datagrip from https://www.jetbrains.com/datagrip/download/#section=mac
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".
Open the Terminal and run
node -v
to check the version of node installed on your system.If the version is not
16.15.0
, run the following commands to install this version:sudo npm install -g n sudo n 16.15.0
Run the following commands in the Terminal:
git clone https://github.com/CarnegieLearningWeb/UpGrade.git
(Note: If you don't have git, install it using using the command:brew install git
)cd UpGrade/backend/packages/Upgrade cp .env.example .env
Open the ".env" file, find the "TYPEORM_SYNCHRONIZE" variable and set it to
false
, and find the “ADMIN_USERS” variable and add your account email address to it.Open the "src/config.json" file and add your email and role under the "adminUsers" key.
Open your terminal and type
cd ~/UpGrade/backend
Run the commandnpm ci
in this directory. Then typecd ~/UpGrade/backend/packages/Upgrade
Run the commandnpm ci
in this directory as well. (These commands are to be used only during the initial setup to install dependencies)Once the above command finishes, run the following command in the "backend/packages/Upgrade" directory:
npm run dev
After a few seconds, you should see a message "Aloha, your app is ready on http://localhost:3030/api" in the Terminal console.
If you open http://localhost:3030/api in your browser, you should see something like the following on the page:
{"name":"A/B Testing Backend","version":"2.0.0","description":"Backend for A/B Testing Project"}
Frontend
In your Terminal window, type
cd ~/UpGrade/frontend/
Then, run the following command in the Terminal:npm ci
(This is used only during the initial setup to install dependencies)Once the above command finishes, run the following command:
npm run start
After a few seconds, your default browser would automatically launch and display the login page. Or you can open http://localhost:4200 in your browser and log in with your account.
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.
Linux
Backend
Install Postgres database in your system (version 11 or above. Link: https://www.postgresql.org/download/linux/).
Install PostgreSQL client:
sudo apt install postgresql-client
Install PostgreSQL server:
sudo apt install postgresql-server
Steps to create a PostgreSQL database for upgrade user
run
sudo -u postgres psql
(it will start postgress and show 'postgres#').run
CREATE USER ${username} PASSWORD '${password}';
run
CREATE DATABASE ${DatabaseName};
run
GRANT ALL on DATABASE ${DatabaseName} to {username};
run
ALTER USER {username} with Superuser;
run
CREATE extension "uuid-ossp";
\q to exit
Download and install Datagrip from https://www.jetbrains.com/datagrip/download/#section=linux
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".
Open the Terminal and run
node -v
to check the version of node installed on your system.If the version is not
16.15.0
, run the following commands to install this version:sudo npm install -g n sudo n 16.15.0
Run the following commands in the Terminal:
git clone https://github.com/CarnegieLearningWeb/UpGrade.git cd UpGrade/backend/packages/Upgrade cp .env.example .env
Note: Install git if you don’t have it, using the command:sudo apt-get install git
Open the ".env" file, find the "TYPEORM_SYNCHRONIZE" variable and set it to
false
, and find the “ADMIN_USERS” variable and add your account email address to it.Open your terminal and change your directory to "backend" once and also to "backend/packages/Upgrade" directory. Run the following command in both:
npm ci
(To be used only during the first setup time to install the dependencies)Once the above command finishes, run the following command in "backend/packages/Upgrade" directory:
npm run dev
After a few seconds, you should see a message "Aloha, your app is ready on http://localhost:3030/api" in the Terminal console.
If you open http://localhost:3030/api in your browser, you should see something like the following on the page:
{"name":"A/B Testing Backend","version":"2.0.0","description":"Backend for A/B Testing Project"}
Frontend
In your Terminal window, type
cd ~/UpGrade/frontend/
and run the following command in the Terminal:npm ci
(To be used only during the first setup time to install the dependencies)Once the above command finishes, run the following command:
npm run start
After a few seconds, your default browser would automatically launch and display the login page. Or you can open http://localhost:4200 in your browser and log in with your account.
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.