Skip to content

alexishvostal/merck-label-dashboard-typescript

 
 

Repository files navigation


Merck Lab Logistics Project

Find us on GitHub!

Contributors

Table of Contents
  1. About The Project
  2. Tech Stack / Toolkit
  3. Getting Started
  4. Usage
  5. Contact
  6. Acknowledgments

About The Project

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.

(back to top)

Tech Stack / Toolkit

(back to top)

Getting Started

1. Docker Installation Instructions

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.

--Docker Desktop (Windows, MacOS, Linux)

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.

--Important For Windows Users

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.

--Docker Engine (Linux Only)

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

2. Cloning the Repository

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.

(back to top)

3. Building the Docker Image

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

4. If Docker not working

If there is an error using Docker commends, please try:

-- Set up Postgres 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.

Usage

Below is a short demonstration of the user interface

Product Name Screen Shot

(back to top)

Contact

Project Link: https://github.com/SomberTM/merck-label-dashboard-typescript

LinkedIn pages of developers:

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/

GitHub pages of developers:

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

(back to top)

Acknowledgments

  • 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

(back to top)

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • TypeScript 95.6%
  • CSS 3.4%
  • Other 1.0%