Project Description
Dashboard to aggregate publicly available open source date and transform, analyse, forecast factors affecting water conflicts.
Full disclosure: This project was initially done as part of my University course - Data Systems Project. It was presented to TNO (Nederlandse Organisatie voor Toegepast Natuurwetenschappelijk Onderzoek) - Military division. Reason I took this project was it was exciting ML/AI POC for me.
Also believed this would actually help prevent conflicts and provide aid as oppose to somehow use it maliciously. This project is 2 years old. TNO did not provide any of their data or expertise and do not own this project.
Current state:
FE: React BE: Python / Flask
- Project is more than 1.5 years old.
- UI have quite alot of hardcoded data.
- There are some buggy UI issues as well.
- Backend could be broken
Goal for this Hackweek
github (Private): https://github.com/Shavindra/TNO
I like to keep things very simple and not overdo anything.
- Update packages
- Fix UI bugs.
- Update Python backend
Then work one of the following
- Integrate some data sources properly.
- Least 1/2 API endpoints working on a basic level.
- Any other suggestions?
Resources
https://www.wri.org/insights/we-predicted-where-violent-conflicts-will-occur-2020-water-often-factor
Looking for hackers with the skills:
ai machinelearning artificial-intelligence water conflicts dashboard reactjs react
This project is part of:
Hack Week 21
Activity
Comments
Be the first to comment!
Similar Projects
Flaky Tests AI Finder for Uyuni and MLM Test Suites by oscar-barrios
Description
Our current Grafana dashboards provide a great overview of test suite health, including a panel for "Top failed tests." However, identifying which of these failures are due to legitimate bugs versus intermittent "flaky tests" is a manual, time-consuming process. These flaky tests erode trust in our test suites and slow down development.
This project aims to build a simple but powerful Python script that automates flaky test detection. The script will directly query our Prometheus instance for the historical data of each failed test, using the jenkins_build_test_case_failure_age
metric. It will then format this data and send it to the Gemini API with a carefully crafted prompt, asking it to identify which tests show a flaky pattern.
The final output will be a clean JSON list of the most probable flaky tests, which can then be used to populate a new "Top Flaky Tests" panel in our existing Grafana test suite dashboard.
Goals
By the end of Hack Week, we aim to have a single, working Python script that:
- Connects to Prometheus and executes a query to fetch detailed test failure history.
- Processes the raw data into a format suitable for the Gemini API.
- Successfully calls the Gemini API with the data and a clear prompt.
- Parses the AI's response to extract a simple list of flaky tests.
- Saves the list to a JSON file that can be displayed in Grafana.
- New panel in our Dashboard listing the Flaky tests
Resources
- Jenkins Prometheus Exporter: https://github.com/uyuni-project/jenkins-exporter/
- Data Source: Our internal Prometheus server.
- Key Metric:
jenkins_build_test_case_failure_age{jobname, buildid, suite, case, status, failedsince}
. - Existing Query for Reference:
count by (suite) (max_over_time(jenkins_build_test_case_failure_age{status=~"FAILED|REGRESSION", jobname="$jobname"}[$__range]))
. - AI Model: The Google Gemini API.
- Example about how to interact with Gemini API: https://github.com/srbarrios/FailTale/
- Visualization: Our internal Grafana Dashboard.
- Internal IaC: https://gitlab.suse.de/galaxy/infrastructure/-/tree/master/srv/salt/monitoring