Table of Contents
Our project seeks to optimize laboratory management by creating a digital solution for logistics and safety.
Manually created labels in laboratories create additional challenges in readability, consistency, and reproducibility. As a result, it can be difficult to manage samples and scientists can forget to discard expired samples which causes lab safety violations.
Approximately 66% of all lab safety violations are due to solutions not being discarded on time.
Our application's goal is to reduce this number while making overall sample management much more convenient for scientists.
The first step is to get the Docker Daemon running on your machine. For Windows and MacOS users, Docker Desktop, is the easiest way to get started. Linux users can install docker desktop or the docker engine/server directly through curl
or apt-get
. For more information see, Docker Engine Installation.
Once docker desktop has been successfully installed and running, you can verify that it is running by running the following command in your terminal:
docker ps
If you see a list of running containers, then you are good to go. If you see an error message, then you may need to restart your machine.
If you open Docker Desktop and are stuck waiting for it to start you may need to close Docker Desktop entirely and open up the terminal. Once inside run the command
wsl --update
The main problem is WSL2 does not auto install the kernel when WSL2 installs, yet Docker Desktop expects it already installed.
If you are using the docker engine, you will need to run the following command to start the docker daemon:
sudo dockerd
You can verify that the docker daemon is running by running the following command in your terminal:
docker ps
The next step is to clone the repository. You can do this by running the following command in your terminal:
git clone https://github.com/SomberTM/merck-label-dashboard-typescript.git
This will clone the repository into a folder called merck-label-dashboard-typescript
in your current directory.
Navigate to the
merck-label-dashboard-typescript
folder by running the following command:cd merck-label-dashboard-typescript
to start the server. You can verify that the everything is running by navigating to localhost:3000
in your browser. The api is running on localhost:5000
.
Double check that you are in the
merck-label-dashboard-typescript
folder and that the docker daemon is running. For Windows and MacOS users, having docker desktop open is sufficient. For Linux users, see the Docker Engine section.
The next step is to build the docker image. You can do this by running the following command in your terminal:
docker-compose build
Once the image is build you can run
docker-compose up
-- Set up Postgres database
- Install Postgres from "https://www.postgresql.org/"
- Set up your username and password
- Set your port to be 5432
- Create a database
-- Set up URI and start server
cd merck-label-dashboard-typescript/server
- Create a text file and save it as a .env file, and you can simply name it ".env"
- The .env should have one line of the URI information:
- URI format follows: DB_URI = postgres://{user}:{password}@localhost:{port}/{database_name}
- The username and password are the username and password set for the Postgres
- Default port is 5432, and the database name is set in the Postgres
- The bracket should be taken out in the URI, e.g., DB_URI = postgres://abc:123456@localhost:5432/database_1
Run the following comments in the terminal:
npx prisma migrate dev --name init --preview-feature
npm install
npm start
-- Set up the frontend Start a new terminal and nevigate back to merck-label-dashboard-typescript
cd merck-label-dashboard-typescript/client
npm install --force
npm start
Once the IP address is obtained, copy that into browser and the GUI is opened.
Below is a short demonstration of the user interface
Project Link: https://github.com/SomberTM/merck-label-dashboard-typescript
Thomas Hughes: https://www.linkedin.com/in/thomas-hughes-450557253/
Justin Smith: https://www.linkedin.com/in/justin-smith-3bb9b8229/
Zixiao Wang: https://www.linkedin.com/in/zixiao-wang-15b16620b/
Kihunn Anderson: https://www.linkedin.com/in/kihunn/
Zihao Liang: https://www.linkedin.com/in/zihao-liang-232988149/
Alexis Hvostal (Team Leader): https://www.linkedin.com/in/alexis-hvostal/
Thomas Hughes: https://github.com/SomberTM
Justin Smith: https://github.com/ChimayoX
Zixiao Wang: https://github.com/ChopinNo3Op9
Kihunn Anderson: https://github.com/kihunn
Zihao Liang: https://github.com/liang300pu
Alexis Hvostal (Team Leader): https://github.com/alexishvostal
- Merck mentors: Dr. Jonathan Fine and Dr. Terri Bui
- Dr. Mark D. Ward, Meggie Betz, Kevin Amstutz, Nick Rosenorn
- All other Data Mine staff at Purdue