https://github.com/kris96tian/database_app
Code for a web application that connects to a postgres database, handles form submissions, and generates various visualizations based on the retrieved data. The code leverages libraries such as Flask, geopandas, matplotlib, and psycopg2 to achieve these functionalities.
https://github.com/kris96tian/database_app
database-management embedded-sql geojson-data postgresql visualization
Last synced: about 2 months ago
JSON representation
Code for a web application that connects to a postgres database, handles form submissions, and generates various visualizations based on the retrieved data. The code leverages libraries such as Flask, geopandas, matplotlib, and psycopg2 to achieve these functionalities.
- Host: GitHub
- URL: https://github.com/kris96tian/database_app
- Owner: kris96tian
- Created: 2023-07-31T13:42:45.000Z (almost 3 years ago)
- Default Branch: main
- Last Pushed: 2025-04-18T02:06:06.000Z (about 1 year ago)
- Last Synced: 2025-05-05T07:52:04.604Z (about 1 year ago)
- Topics: database-management, embedded-sql, geojson-data, postgresql, visualization
- Language: Python
- Homepage:
- Size: 597 KB
- Stars: 0
- Watchers: 1
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
Awesome Lists containing this project
README
# CycleWatch Berlin - (PostgreSQL-powered)
Diese App wurde entwickelt, um Daten über Fahrraddiebstähle in Berlin anzuzeigen und zu analysieren. Sie basiert auf dem Flask-Framework und verwendet PostgreSQL als Datenbank, um die Fahrraddiebstahldaten lokal zu speichern.
## Features
- **Datenfilterung**: Auf der Startseite der App können Benutzer verschiedene Filteroptionen auswählen, um die Fahrraddiebstahldaten nach Datum, Delikt oder Schadenshöhe zu filtern. Die entsprechenden Datensätze werden dann in einer tabellarischen Form angezeigt.
- **Interaktive Plots**:
- Visualisierung der geografischen Verteilung der Fahrraddiebstähle in Berlin, wobei die Schadenshöhe durch eine Farbskala angezeigt wird.
- Erstellung eines Histogramms der Diebstähle nach der Tatzeit, das die Häufigkeit von Diebstählen über einen Zeitraum von 24 Stunden darstellt.
## Technologien
Die App verwendet eine Reihe von Python-Modulen, um verschiedene Funktionen umzusetzen:
- **Flask**: Ein Webframework für Python, das verwendet wird, um die Webanwendung zu erstellen und die Routing- und Anfrageverarbeitungsfunktionen bereitzustellen.
- **psycopg2**: Ein Python-Adapter für PostgreSQL, der verwendet wird, um eine Verbindung zur PostgreSQL-Datenbank herzustellen und Datenbankabfragen auszuführen.
- **pandas**: Eine leistungsstarke Datenanalyse-Bibliothek, die verwendet wird, um die aus der Datenbank abgerufenen Daten in DataFrames zu organisieren und zu manipulieren.
- **geopandas**: Eine Erweiterung von Pandas, die speziell für die Verarbeitung geografischer Daten entwickelt wurde. Es wird verwendet, um geografische Daten aus einer GeoJSON-Datei einzulesen und sie mit den Fahrraddiebstahldaten zu verbinden.
- **matplotlib**: Eine Plotting-Bibliothek für Python, die verwendet wird, um die interaktiven Plots zu erstellen, die die geografische Verteilung der Fahrraddiebstähle und das Histogramm der Tatzeit anzeigen.
- **mapclassify**: Eine Bibliothek für die Klassifizierung und Visualisierung von geografischen Daten. Sie wird verwendet, um die Schadenshöhen in Klassen einzuteilen und die Farbskala für den geografischen Plot zu erstellen.
## Installation
1. Klone dieses Repository:
```bash
git clone https://github.com/kris96tian/database_app.git
cd database_app
```
2. Erstelle und aktiviere eine virtuelle Umgebung:
```bash
python3 -m venv venv
source venv/bin/activate
```
3. Installiere die erforderlichen Abhängigkeiten:
```bash
pip install -r requirements.txt
```
4. Stelle sicher, dass PostgreSQL installiert ist und eine Datenbank für die App existiert. Bearbeite die Konfigurationsdateien für die Verbindung zur Datenbank.
5. Starte die Flask-App:
```bash
flask run
```
## Nutzung
- Besuche `http://127.0.0.1:5000` in deinem Browser, um die App zu verwenden.
- Wähle die gewünschten Filteroptionen aus, um die Fahrraddiebstahldaten zu durchsuchen und analysieren.
- Die App zeigt interaktive Plots, Karten und Diagramme zur Visualisierung der Daten.

## Postgres from Terminal

## Button "Plot der Diebstähle"
