improved readme

This commit is contained in:
mia 2026-06-16 10:25:01 +02:00
parent 9dd6455c92
commit 4fabaa8483

110
README.md
View file

@ -1,23 +1,95 @@
# hafas-terminal-app # hafas-terminal-app
## Description A Python-based terminal application for accessing public transport information via the HAFAS API. This tool provides station-to-station route planning and real-time arrival/departure information for public transport networks.
The goal is to access the Hafas API to retrieve Data about the public transport network. Most important is to achieve Station to Station Routeplanning and Station Arrival/Departure Information.
## Dependencies ## Features
- Python
- prompt_toolkit (tui)
- kivy (mobile-ui) ((optional!!!))
- requests
- json
- Hafas API Endpoint
- Git
## Timetable - **Route Planning**: Find optimal routes between stations
- ~~22.04.2026 - Short project presentation: 3min per Group, incl. UseCase, GitProject, Issues~~ - **Station Information**: View real-time arrivals and departures
- ~~29.04.2026 - Scrum-Round mia/hafas-terminal-app#1~~ - **Terminal UI**: User-friendly command-line interface using prompt_toolkit
- ~~06.05.2026 - Scrum-Round mia/hafas-terminal-app#2, optionally mia/hafas-terminal-app#3 and mia/hafas-terminal-app#4~~ - **Multiple Transport Methods**: Support for various public transport modes
- 13.05.2026 - Scrum-Round #3, #4, #5
- 20.05.2026 - Scrum-Round ## Requirements
- 27.05.2026 - Scrum-Round
- 03.06.2026 - Scrum-Round ### Core Dependencies
- 10.06.2026 - Presentations - **Python 3.7+**: Programming language
- **Hafas API Endpoint**: Access to a HAFAS public transport API
### Python Packages
- `prompt_toolkit`: Terminal user interface (TUI)
- `requests`: HTTP library for API communication
- `kivy` (optional): Mobile UI support for future mobile versions
### Tools
- `Git`: Version control
## Installation
### Option 1: Using Nix (Recommended)
1. Clone the repository:
```bash
git clone https://git.miaig.dev/mia/hafas-terminal-app.git
cd hafas-terminal-app
```
2. Enter the Nix development environment:
```bash
nix develop # Modern Nix with flakes
# or
nix-shell # Traditional Nix
```
All dependencies will be automatically configured.
### Option 2: Using pip
1. Clone the repository:
```bash
git clone https://git.miaig.dev/mia/hafas-terminal-app.git
cd hafas-terminal-app
```
2. Create a virtual environment:
```bash
python -m venv venv
source venv/bin/activate # On Windows: venv\Scripts\activate
```
3. Install dependencies:
```bash
pip install -r requirements.txt
```
## Usage
Run the application:
```bash
python main.py
```
### Features
- Navigate between stations and search for routes
- View departure and arrival times
- Display detailed journey information
## Project Structure
```
hafas-terminal-app/
├── main.py # Application entry point
├── backend.py # Backend API communication logic
├── route_planning.py # Route planning algorithms
├── station_monitor.py # Station monitoring functionality
├── flake.nix # Nix environment configuration
├── README.md # This file
└── docs/ # Documentation
```
## License
This project is provided under the terms specified in the [LICENSE](./LICENSE) file.
## Contributing
Contributions are welcome! Please feel free to submit issues and pull requests to help improve the application.