An interactive dashboard developed using Dash and Plotly to support material discovery workflows at Lawrence Berkeley National Lab.
It brings together synthesis and characterization data in one place to help researchers:
- Compare experimental samples
- Identify trends or anomalies
- Explore ideas for new analyses
🎥 Watch the video demo:
dashboard_compressed.mp4
To keep credentials secure, this project uses environment variables loaded from a .env file.
git clone https://github.com/your-username/ALAB_DASHBOARD_NEW.git
cd ALAB_DASHBOARD_NEWCopy the template:
cp .env.example .envThen open .env and fill in your MongoDB credentials:
SAURON_DB_USER=your_sauron_username
SAURON_DB_PASS=your_sauron_password
SAURON_DB_HOST=your_sauron_host
SAURON_DB_NAME=your_sauron_database
DARA_DB_USER=your_dara_username
DARA_DB_PASS=your_dara_password
DARA_DB_HOST=your_dara_host
DARA_DB_NAME=your_dara_database
DARA_COLLECTION=results🔒 Note: The
.envfile is ignored via.gitignoreand will not be tracked by git.
python -m venv venv
source venv/bin/activate # macOS/Linux
# OR
venv\Scripts\activate # Windowspip install -r requirements.txtOnce the environment is set up:
python app.pyThen open your browser and go to:
http://127.0.0.1:8050
├── app.py # Entry point for the dashboard
├── data.py # MongoDB access and caching
├── layout.py # Layout and UI components
├── callbacks.py # App interactivity
├── utils.py # Helper functions
├── datasets/ # Local CSV cache
├── assets/ # Dash assets (e.g., custom CSS)
├── .env.example # Template for secrets
├── requirements.txt # Dependencies
└── README.md