This project goal is to create an IoT platform from scratch using Modern Data Stack ( Prefect, DuckDB , FastAPI, Streamlit)
- Prefect Cloud account
- Prefect API URL and Key
- Mapbox Token
- Docker desktop
- PDM ( Python Dependency Manager )
- Prefect
- FastAPI
- Streamlit
-
Install pdm
$ curl -sSLO https://pdm-project.org/install-pdm.py
$ python3 install-pdm.py [options]
-
Install dependencies
$ pdm install
-
Activate virtual environment
$ eval $(pdm venv activate)
-
Create '.env' variable inside root directory by renaming .sample-env and then provide your credentials
-
Run docker from root directory
$ docker compose up
-
Web UI (Streamlit App) - http://localhost:8015
-
Prefect Cloud UI - https://app.prefect.cloud