improved readme
This commit is contained in:
parent
9dd6455c92
commit
4fabaa8483
1 changed files with 91 additions and 19 deletions
110
README.md
110
README.md
|
|
@ -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.
|
||||||
Loading…
Add table
Add a link
Reference in a new issue