Add README
This commit is contained in:
parent
248f280e22
commit
1990ae440d
1 changed files with 95 additions and 0 deletions
95
README.md
Normal file
95
README.md
Normal file
|
@ -0,0 +1,95 @@
|
|||
# DB Departure Tracker
|
||||
|
||||
## Beschreibung
|
||||
|
||||
Dieses Projekt ist ein Go-basierter Service, der Abfahrtsinformationen von verschiedenen Bahnhöfen der Deutschen Bahn abruft und in einer MariaDB-Datenbank speichert. Es verwendet die DB REST API, um Echtzeit-Abfahrtsdaten zu erhalten und aktualisiert die Positionen der Züge in regelmäßigen Abständen.
|
||||
|
||||
## Funktionen
|
||||
|
||||
- Abruf von Abfahrtsinformationen für mehrere Bahnhöfe
|
||||
- Konfigurierbare Einstellungen für verschiedene Verkehrsmittel (Bus, Fähre, Straßenbahn, Taxi)
|
||||
- Speicherung und Aktualisierung von Zugpositionen in einer MariaDB-Datenbank
|
||||
- Verwendung von UUIDs für eindeutige Datenbankeinträge
|
||||
- Konfiguration über Umgebungsvariablen
|
||||
|
||||
## Voraussetzungen
|
||||
|
||||
- Go 1.17 oder höher
|
||||
- Docker und Docker Compose
|
||||
- Zugang zur DB REST API
|
||||
|
||||
## Installation
|
||||
|
||||
1. Klonen Sie das Repository:
|
||||
```
|
||||
git clone https://github.com/yourusername/db-departure-tracker.git
|
||||
cd db-departure-tracker
|
||||
```
|
||||
|
||||
2. Erstellen Sie eine `.env` Datei im Projektverzeichnis und füllen Sie sie mit den erforderlichen Umgebungsvariablen (siehe Konfiguration).
|
||||
|
||||
3. Bauen und starten Sie die Docker-Container:
|
||||
```
|
||||
docker-compose up --build
|
||||
```
|
||||
|
||||
## Konfiguration
|
||||
|
||||
Konfigurieren Sie die Anwendung durch Setzen der folgenden Umgebungsvariablen:
|
||||
|
||||
- `DB_DSN`: Datenbankverbindungsstring (z.B. "root:password@tcp(mariadb:3306)/traindb")
|
||||
- `API_BASE_URL`: Basis-URL der DB REST API
|
||||
- `MAX_RESULTS`: Maximale Anzahl der abzurufenden Ergebnisse pro Anfrage
|
||||
- `DURATION`: Zeitspanne in Minuten für die Abfrage der Abfahrten
|
||||
- `BUS`: Einbeziehung von Busabfahrten (true/false)
|
||||
- `FERRY`: Einbeziehung von Fährabfahrten (true/false)
|
||||
- `TRAM`: Einbeziehung von Straßenbahnabfahrten (true/false)
|
||||
- `TAXI`: Einbeziehung von Taxiabfahrten (true/false)
|
||||
- `STATION_IDS`: Komma-separierte Liste der Bahnhofs-IDs
|
||||
|
||||
Beispiel für eine `.env` Datei:
|
||||
|
||||
```
|
||||
DB_DSN=root:password@tcp(mariadb:3306)/traindb
|
||||
API_BASE_URL=http://db-rest:3000
|
||||
MAX_RESULTS=10
|
||||
DURATION=240
|
||||
BUS=false
|
||||
FERRY=false
|
||||
TRAM=false
|
||||
TAXI=false
|
||||
STATION_IDS=8000226,8000234
|
||||
```
|
||||
|
||||
## Verwendung
|
||||
|
||||
Nach dem Start läuft der Service kontinuierlich und ruft in regelmäßigen Abständen Abfahrtsinformationen ab. Die Daten werden in der konfigurierten MariaDB-Datenbank gespeichert.
|
||||
|
||||
## Datenbankschema
|
||||
|
||||
Die Anwendung verwendet folgendes Datenbankschema:
|
||||
|
||||
```sql
|
||||
CREATE TABLE IF NOT EXISTS trips (
|
||||
id VARCHAR(36) PRIMARY KEY,
|
||||
latitude DOUBLE,
|
||||
longitude DOUBLE,
|
||||
timestamp DATETIME,
|
||||
train_name VARCHAR(50),
|
||||
fahrt_nr VARCHAR(20)
|
||||
);
|
||||
```
|
||||
|
||||
## Entwicklung
|
||||
|
||||
Um an diesem Projekt mitzuarbeiten:
|
||||
|
||||
1. Forken Sie das Repository
|
||||
2. Erstellen Sie einen Feature Branch (`git checkout -b feature/AmazingFeature`)
|
||||
3. Committen Sie Ihre Änderungen (`git commit -m 'Add some AmazingFeature'`)
|
||||
4. Pushen Sie den Branch (`git push origin feature/AmazingFeature`)
|
||||
5. Öffnen Sie einen Pull Request
|
||||
|
||||
## Lizenz
|
||||
|
||||
Dieses Projekt ist unter der MIT-Lizenz lizenziert. Siehe `LICENSE` Datei für Details.
|
Loading…
Reference in a new issue