Skip to content

Implementation of a real-time weather analytics dashboard powered by ClickHouse and Streamlit. The project combines a high-performance database, REST API, and an AI assistant to visualize forecasts, analyze climatic trends, and provide energy-related insights.

Notifications You must be signed in to change notification settings

donat-konan33/clickhouse-weather-analytics-dashboard

Repository files navigation

Streamlit Dashboard Connected to ClickHouse Database via API REST

Streamlit FastAPI Visual Crossing OpenRouter API DeepSeek Docker

This Project aims to create dashboard to visualize all interesting charts that can help weather team on seven next days and that every day you. Below an example of what you can do with app. You will be able to get suggestion from AI Agent named AgentSunAI.

Watch Streamlit App Demo

Click the image above to watch a brief demo of the Streamlit dashboard. The video highlights interactive charts generated from aggregated database values and demonstrates how AgentSunAI offers suggestions on energy consumption, tailored to the projected energy density for each region or department over the next seven days.


Local Installation

1. Clone the repository:

git clone https://github.com/donat-konan33/clickhouse-weather-analytics-dashboard.git
cd clickhouse-weather-analytics-dashboard

2. Environment Variables

Important variables required for app operating:

Variable Description
OPENROUTER_API_KEY API key for accessing OpenRouter services, typically used for AI integrations.
BASE_URL Database API url base (From API RESTful)

Now you have the meaning of the variables needed, you have to :

  • Populate local variables by following .env.example file if you execute locally the App.
  • For Production, if You use Github Actions you have to assign them as secrets and vars according to your deployment Environment.

As a rule, to define an environment variable in a "prod" environment, follow these steps:

  1. Navigate to the main page of your repository on GitHub.
  2. Under your repository name, click Settings. If you don't see the "Settings" tab, select the More dropdown menu, then click Settings.
  3. In the left sidebar, click Environments.
  4. Click on the "prod" environment.
  5. Under Environment variables, click Add variable.
  6. In the Name field, enter the name of your variable.
  7. In the Value field, enter the value for your variable.
  8. Click Add variable.

These variables will only be accessible to workflow jobs that reference the "prod" environment and can be accessed using the vars context.

More details: Managing environments for deployment.

3. Start the Streamlit App in a container with Docker compose

Be aware it required to turn on this APP in backend before starting this Streamlit frontend APP as using data served by this one.

Once the required step have done, run the following command in your terminal:

docker compose up -d

This will build and launch the application in detached mode using the configuration defined in docker-compose.yml.


🚨Important : This dashboard is connected to a DataWarehouse that servers weather data via RESTful API-based API. An ETLT Data Pipeline architecture Using Airbyte, Minio, ClickHouse, Dbt and Airflow can be found by hitting the same link described above.

About

Implementation of a real-time weather analytics dashboard powered by ClickHouse and Streamlit. The project combines a high-performance database, REST API, and an AI assistant to visualize forecasts, analyze climatic trends, and provide energy-related insights.

Topics

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Contributors 2

  •  
  •