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
## Description
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.
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.
## Dependencies
- Python
- prompt_toolkit (tui)
- kivy (mobile-ui) ((optional!!!))
- requests
- json
- Hafas API Endpoint
- Git
## Features
## Timetable
- ~~22.04.2026 - Short project presentation: 3min per Group, incl. UseCase, GitProject, Issues~~
- ~~29.04.2026 - Scrum-Round mia/hafas-terminal-app#1~~
- ~~06.05.2026 - Scrum-Round mia/hafas-terminal-app#2, optionally mia/hafas-terminal-app#3 and mia/hafas-terminal-app#4~~
- 13.05.2026 - Scrum-Round #3, #4, #5
- 20.05.2026 - Scrum-Round
- 27.05.2026 - Scrum-Round
- 03.06.2026 - Scrum-Round
- 10.06.2026 - Presentations
- **Route Planning**: Find optimal routes between stations
- **Station Information**: View real-time arrivals and departures
- **Terminal UI**: User-friendly command-line interface using prompt_toolkit
- **Multiple Transport Methods**: Support for various public transport modes
## Requirements
### Core Dependencies
- **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.