LGKA

📱 LGKA+ – Digitaler Vertretungsplan für das Lessing-Gymnasium Karlsruhe

![Flutter](https://img.shields.io/badge/Flutter-3.8.0+-02569B?style=flat&logo=flutter&logoColor=white) ![Dart](https://img.shields.io/badge/Dart-3.8.1+-0175C2?style=flat&logo=dart&logoColor=white) ![Platform](https://img.shields.io/badge/Platform-Android%20%7C%20iOS-green?style=flat) ![Version](https://img.shields.io/badge/Version-2.0.1-blue?style=flat) ![License](https://img.shields.io/badge/License-CC%20BY--NC--ND%204.0-orange?style=flat) **🎓 Moderne Flutter-App für den digitalen Vertretungsplan des Lessing-Gymnasiums Karlsruhe** *Eine elegante, benutzerfreundliche Lösung für den schnellen Zugriff auf aktuelle Vertretungspläne* [📥 Download](https://github.com/luka-loehr/LGKA/releases) • [📖 Dokumentation](#-installation--entwicklung) • [🐛 Issues](https://github.com/luka-loehr/LGKA/issues) • [💬 Discussions](https://github.com/luka-loehr/LGKA/discussions)

📋 Inhaltsverzeichnis


🌟 Über das Projekt

LGKA+ ist eine moderne, plattformübergreifende Mobile App, die speziell für die Schulgemeinschaft des Lessing-Gymnasiums Karlsruhe entwickelt wurde. Die App bietet einen schnellen, zuverlässigen Zugriff auf die aktuellen Vertretungspläne mit einer intuitiven Benutzeroberfläche und umfassenden Offline-Funktionen.

🎯 Projektziele

🏆 Alleinstellungsmerkmale


✨ Features im Überblick

🔄 Intelligenter Vertretungsplan

📄 PDF-Integration

🎨 Benutzeroberfläche

⚙️ Erweiterte Einstellungen

🌐 Intelligente Netzwerkverwaltung

🎁 Zusätzliche Features


🏗️ Technische Architektur

🎯 Technology Stack

| Kategorie | Technologie | Version | Zweck | |———–|————|———|——–| | Frontend | Flutter SDK | 3.8.0+ | Cross-Platform UI Framework | | Language | Dart | 3.8.1+ | Programmiersprache | | Design | Material Design 3 | - | UI/UX Design System | | State Management | Riverpod | 2.6.1 | Reaktive State-Verwaltung | | Navigation | go_router | 15.1.2 | Deklarative Navigation | | Networking | HTTP Client | 1.2.2 | Netzwerkkommunikation |

🎯 Framework & Sprachen

🗂️ Projektstruktur

lib/
├── 🖥️  screens/          # 6 Haupt-Screens (Welcome, Auth, Home, etc.)
├── 🔧  services/         # File-Opener & Review-Service
├── 📊  providers/        # Riverpod State Management & Haptic Service
├── 🧭  navigation/       # go_router Navigation mit Animationen
├── 💾  data/            # PDF Repository & Preferences Manager
└── 🎨  theme/           # Custom Material Design 3 Theme

assets/
├── 🖼️  images/          # App-Icons, Logos und UI-Grafiken
└── 📄  configs/         # Konfigurationsdateien

android/                 # Android-spezifische Implementierung
ios/                     # iOS-spezifische Konfiguration

📦 Haupt-Dependencies

| Package | Version | Zweck | Kategorie | |———|———|——–|———–| | flutter_riverpod | ^2.6.1 | Reaktive State-Verwaltung | 🔄 State Management | | go_router | ^15.1.2 | Deklarative Navigation & Routing | 🧭 Navigation | | http | ^1.2.2 | Sichere Netzwerkkommunikation | 🌐 Network | | syncfusion_flutter_pdf | ^29.2.9 | PDF-Verarbeitung & Analyse | 📄 Document Processing | | pdfx | ^2.9.1 | Hochperformante PDF-Anzeige | 🔍 PDF Viewer | | connectivity_plus | ^6.1.0 | Intelligente Netzwerküberwachung | 📡 Connectivity | | share_plus | ^11.0.0 | Plattformübergreifendes PDF-Sharing | 📤 Sharing | | shared_preferences | ^2.3.4 | Sichere lokale Datenspeicherung | 💾 Storage | | in_app_review | ^2.0.10 | Natives Review-System | ⭐ User Experience | | url_launcher | ^6.3.2 | Externe App-Integration | 🔗 External Apps |

Performance-Optimierungen

Build-Optimierungen

Runtime-Optimierungen

App-Größen

| Build-Typ | Größe | Installiert | Verwendung | |———–|——-|————-|————| | App Bundle | ~45MB | ~23MB | Google Play Store | | ARM64 APK | ~9MB | ~23MB | Direktinstallation |


🚀 Installation & Entwicklung

🔽 Download & Installation

📱 Für Endnutzer

🛠️ Für Entwickler

📋 Voraussetzungen

# Entwicklungsumgebung
Flutter SDK >= 3.8.0     # Cross-Platform Framework
Dart SDK >= 3.8.1        # Programmiersprache
Android SDK >= 21        # Android 5.0+
iOS >= 12.0              # iOS Deployment Target

# Zusätzliche Tools
Git >= 2.20             # Versionskontrolle
Android Studio / VS Code # IDE mit Flutter-Plugin

🚀 Schnellstart

# 1. Repository klonen
git clone https://github.com/luka-loehr/LGKA.git
cd LGKA

# 2. Dependencies installieren
flutter pub get

# 3. App-Icons generieren
dart run generate_app_icons.dart

# 4. Development Server starten
flutter run --debug

🏗️ Build-Kommandos

⚡ Development Builds (Schnelle Iteration)

# ARM64 APK für moderne Android-Geräte (~9.9MB)
flutter build apk --release --target-platform=android-arm64

# Installation via ADB
adb install -r build/app/outputs/flutter-apk/app-release.apk

🏪 Production Builds (Store-Ready)

# Google Play Store (App Bundle)
flutter build appbundle --release

# Apple App Store (iOS)
flutter build ios --release

🔧 App-Konfiguration

Die zentrale Konfiguration erfolgt über app_config/app_config.yaml:

app_name: "LGKA+"
package_name: "com.lgka"
version_name: "2.0.1"
version_code: "28"

Änderungen werden automatisch auf Android und iOS angewendet.


📱 Platform-spezifische Features

🤖 Android

🍎 iOS


🔐 Datenschutz & Sicherheit

Datenschutz-Features

🛠️ Sicherheitsmaßnahmen

📄 Vollständige Datenschutzerklärung
📄 Impressum


🧩 Architektur-Details

🏛️ Design Patterns

🔄 State Management Flow

PreferencesManager ↔ Riverpod Providers ↔ UI Screens
         ↓                    ↓               ↓
   SharedPreferences     PdfRepository    Material3 UI

🌐 Netzwerk-Architektur

Flutter App → HTTP Client → Basic Auth → School Server
     ↓              ↓           ↓            ↓
PDF Repository → Local Cache → File System → PDF Viewer

🛠️ Entwicklung

🧪 Testing

# Unit Tests ausführen
flutter test

# Widget Tests
flutter test test/widget_test.dart

# Integration Tests (Device erforderlich)
flutter test integration_test/

🐛 Debugging

# Debug Mode mit Hot Reload
flutter run --debug

# Performance Profiling
flutter run --profile

# Release Testing
flutter run --release

📊 Code-Qualität


📦 Releases & Deployment

🚀 Release-Workflow

  1. Version in pubspec.yaml erhöhen
  2. Changelog erstellen und testen
  3. Split APKs für Testing bauen
  4. App Bundle für Store-Release erstellen
  5. GitHub Release mit Assets erstellen

📋 Version Management

🏪 Store-Konfiguration


🤝 Entwicklungs-Guidelines

📝 Code-Standards

🧩 Contribution Guidelines

🐛 Issue Reporting


📊 Projekt-Status

Komponente Status Beschreibung
Core App ✅ Produktiv Alle Grundfunktionen implementiert
PDF Integration ✅ Produktiv Integrierter und externer PDF-Viewer
Network Layer ✅ Produktiv Mit intelligentem Auto-Retry
UI/UX ✅ Produktiv Material Design 3 Dark Theme
iOS Support ✅ Produktiv Vollständig kompatibel (iOS 12.0+)
Android Support ✅ Produktiv Edge-to-Edge bis Android 15+

📈 Aktuelle Version


📜 Lizenz & Rechtliches

📄 Creative Commons BY-NC-ND 4.0

✅ Erlaubt:

❌ Nicht erlaubt:

⚖️ Rechtliche Hinweise

📄 Vollständige Lizenz


🙋‍♂️ Support & Kontakt

🆘 Hilfe & Support

Problem Lösung Link
🐛 Bug gefunden GitHub Issues Fehler melden
💡 Feature-Idee GitHub Discussions Diskussion starten
❓ Allgemeine Fragen Wiki & FAQ Dokumentation
🔧 Build-Probleme Build-Anleitung BUILD_NOTES.md
⚙️ Konfiguration Setup-Guide App-Konfiguration

📚 Wichtige Ressourcen

📖 Dokumentation

🌐 Online-Ressourcen

🛠️ Troubleshooting

Häufige Probleme und Lösungen sind detailliert in den BUILD_NOTES.md dokumentiert.

📧 Direkter Kontakt

Für private Anfragen oder spezielle Anliegen können Sie den Entwickler direkt über die GitHub-Profilseite kontaktieren.


💡 Entwickelt mit Leidenschaft und ❤️ von Luka Löhr für die Schulgemeinschaft des Lessing-Gymnasiums Karlsruhe.
Ein privates Schülerprojekt, das Digitalisierung und Benutzerfreundlichkeit vereint.

### 🚀 **Powered by Modern Technology** [![Flutter](https://img.shields.io/badge/Made%20with-Flutter-02569B?style=for-the-badge&logo=flutter&logoColor=white)](https://flutter.dev) [![Dart](https://img.shields.io/badge/Language-Dart-0175C2?style=for-the-badge&logo=dart&logoColor=white)](https://dart.dev) [![Material Design](https://img.shields.io/badge/Design-Material%203-757575?style=for-the-badge&logo=material-design&logoColor=white)](https://m3.material.io) ### 🛡️ **Quality Assurance** ![Code Quality](https://img.shields.io/badge/Code%20Quality-A+-brightgreen?style=flat&logo=codeclimate) ![Maintenance](https://img.shields.io/badge/Maintenance-Active-brightgreen?style=flat) ![Documentation](https://img.shields.io/badge/Documentation-Excellent-brightgreen?style=flat&logo=gitbook) ### 🌟 **Community & Support** [![License](https://img.shields.io/github/license/luka-loehr/LGKA?style=flat)](LICENSE) --- **🔗 Schnellzugriff:** [Website](https://luka-loehr.github.io/LGKA/) • [Releases](https://github.com/luka-loehr/LGKA/releases) • [Wiki](https://github.com/luka-loehr/LGKA/wiki) • [Diskussionen](https://github.com/luka-loehr/LGKA/discussions) --- *© 2025 Luka Löhr. Dieses Projekt steht unter der [Creative Commons BY-NC-ND 4.0](/LGKA/LICENSE) Lizenz.*