diff --git a/README.md b/README.md index af5cfaf..c04ea4c 100644 --- a/README.md +++ b/README.md @@ -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 \ No newline at end of file +- **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. \ No newline at end of file