This is a template project for creating web applications using Dash by Plotly. Dash is a powerful Python framework for building interactive web applications with ease. This template provides a basic structure to get you started quickly.
The purpose of this project is to demonstrate different aspects of App Development using Dash by Plotly in an end-to-end manner. The project is structured in a way that it can be used as a template for creating new projects.
Use the final app as a reference / DEMO for presentation in prospect clients.
-
Structuring a large Dash application - best practices to follow
-
Mantine UI Library https://mantine.dev/, https://ui.mantine.dev/
-
How to structure a complex multipage Dash by Plotly App
-
How to use PyEnv + Poetry for dependency management
-
How to write and run tests using
pytest
-
How to use Dash Mantine Components and CSS to style a Dash App
-
How to setup User Authenication
-
How to setup and use a Database
-
How to Dockerize the app and deploy to GCP
-
How to setup CI/CD using GitHub Actions
-
How to use Pre-commit, Black, Flake and Isort for code formatting.
The repository includes sample pages for the following uses cases:
- Analytics Dashboard
- Machine Learning Prediction UI
- Chatbot
- About Page
- Contact Page
- Notifications Functionality
- Clean Dashboard
- Info List
- Dashboard-example <-- Use it for Water AI.
- Team Presentation
- Header should be on the top, fixed and have a logo. Can be white or colored.
- Sidebar should be on the left side. It can stay open or closed.
- The main content should be on the middle-right side of the screen and have a lightgrey background.
- Use cards and light color for the main content to distinguish from the background and make it more readable.
-
Install
pyenv
https://github.com/pyenv/pyenv andpoetry
https://python-poetry.org/docs/#installation on your machine. -
Install the appropriate Python version:
cd ./dash-app-template pyenv install 3.9.16 pyenv local 3.9.16
-
Configure Poetry to create the virtual environment in the project root:
poetry config virtualenvs.in-project true
-
Install all the dependencies with a single command:
poetry install poetry lock poetry check
-
Activate the virtual environment
poetry shell
./run.sh