podaac / hitide-profile

Apache License 2.0
1 stars 0 forks source link
development hitide tva

HiTIDE - Profile

Purpose

HiTIDE-profile is a server-side service created to provide HiTIDE-ui the following capabilities:

What it does

HiTIDE-profile provides the following endpoints which are consumed by HiTIDE-ui:

Login related endpoints:

Subset-Job related endpoints:

Tech used

Connections to other systems

Local development

1. Setting Up MySQL with Docker

Step 1: Pull the MySQL Docker Image

Make sure you have Docker installed on your system. Then, pull the MySQL version 5 Docker image:

docker pull --platform linux/x86_64 mysql
docker pull mysql:5

Step 2: Run the MySQL Docker Container

Run a MySQL container with the desired configuration:

docker run --name hitide-mysql --platform linux/amd64 -e MYSQL_ROOT_PASSWORD=my-secret-pw -d -p 3306:3306 mysql:5 

You can customize:

Step 3: Verify the MySQL Container is Running

Check the status of the running container:

docker ps

You should see your MySQL container listed.

2. Creating the Database

Step 1: Connect to the MySQL Instance

Use your preferred MySQL client or the MySQL command-line tool to connect to the running MySQL instance:

mysql -h 127.0.0.1 -P 3306 -u root -p

You'll be prompted for the root password (my-secret-pw in this case).

Step 2: Create the Database

Once connected, create the database:

CREATE DATABASE hitide_profile;

3. Setting Up the Application

Step 1: Configure Environment Variables

Before running the setup script, configure the necessary environment variables. You can set these variables in your shell session or use a .env file. Here’s an example of how to set them:

export DATABASE_HOST=127.0.0.1
export DATABASE_PORT=3306
export DATABASE_NAME=hitide_profile
export DATABASE_ADMIN=root
export DATABASE_ADMIN_PASSWORD=my-secret-pw
export DATABASE_USERNAME=hitide_user
export DATABASE_PASSWORD=hitide_password

Step 2: Run the Setup Script

Navigate to the hitide-profile root directory and run the setup script:

cd path/to/hitide-profile
node mysql/setup-db.js

This script will:

4. Verifying the Setup

Step 1: Check Database and Tables

Reconnect to the MySQL instance and check the database and tables:

mysql -h 127.0.0.1 -P 3306 -u root -p

Then run:

USE hitide_profile;
SHOW TABLES;

You should see the tables created by the setup script.

Note:

In HiTIDE UI code in the hitideConfig.js file, make sure you set the hitideProfileOrigin variable to where your local hitide-profile instance is running so the frontend knows where to find hitide-profile. For example:

var hitideProfileOrigin = "http://localhost:8080/hitide/api";