Skip to content

Version: 1.0.0 Diese App demonstriert moderne Android-Entwicklungspraktiken einschließlich: Random User API Integration, Lokale SQLite Datenbank, Kamera & AR-Funktionalität, Material Design 3. Entwickelt für SRH Hochschule Heidelberg. Kurs: VR, AR und Mobile Development © 2025 RandomUserApp - Lara Friedrich

Notifications You must be signed in to change notification settings

LaraRF/RandomUserApp_Abgabe

Repository files navigation

RandomUserApp_Abgabe - ReadMe

Eine moderne Android-Anwendung für die Verwaltung von Benutzerdaten mit AR-Integration, entwickelt für den Kurs "VR, AR & Mobile Development" an der SRH Hochschule Heidelberg.

Features:

  • Random User API Integration (Random User werden von https://randomuser.me/ bezogen) -> automatisches Laden von Zufallspersonen ("Random User")
  • Lokale SQLite Dartenbank -> persistente Datenspeicherung
  • AR/Kamera-Integration -> QR-Code basierte Augmented Reality
  • Manuelle Benutzererstellung -> eigene Benutzer können erstellt und verwaltet werden
  • Suche und Sortierung -> Sortierung nach Name (alphabetisch nach Vorname, a -> z), Datum (Erstellung, neuester User ganz oben), Geburtstag im Jahr (unabhängig von Jahrgang, erste Person im Jahr ganz oben (Person, die am nähesten am 1.1. Geburtstag hat)) oder nach Jahrgang (jüngste Person ganz oben) möglich
  • Mehrsprachigkeit -> Standard ist Englisch, Deutsch möglich
  • Dark-Mode -> Theme kann angepasst werden

Bonus Features:

  • Dependency Injection -> Architektur mit Hilt
  • Statistiken -> Datenbank-Statistiken einsehbar
  • Settings-Management -> Dankenbank-Verwaltung (gezieltes Leeren und Befüllen) und App-Einstellungen
  • QR-Code

Architektur

grafik

Verwendete Patterns: MVVM, Repository Pattern, Dependency Injection

Quick Start der App

Voraussetzungen

  • Android Studio: Arctic Fox (2020.3.1) oder neuer
  • JDK: Version 11+
  • Android SDK: Min API 26, Target API 34
  • Internet-Verbindung: Für API-Calls und Dependency-Download

Installation

  1. Repository klonen:
  2. git clone https://github.com/LaraRF/RandomUserApp_Abgabe.git
  3. cd RandomUserApp
  4. Projekt in Android Studio öffnen:
  • Android Studio starten
  • "Open an Existing Project" wählen
  • Projekt-Ordner auswählen
  1. Gradle Sync:
  • Automatisch oder manuell: File > Sync Project with Gradle Files
  • Alle Dependencies werden automatisch heruntergeladen
  1. App ausführen:
  • Gerät/Emulator verbinden
  • Run-Button (▶️) klicken

Erstmaliger Build

./gradlew clean ./gradlew build

Abhängigkeiten

Core

  • AndroidX Core, AppCompat, Material Design 3
  • ConstraintLayout, Navigation Component Architecture
  • ViewModel, LiveData, Room Database
  • Hilt (Dependency Injection) Networking
  • Retrofit 2, Gson, OkHttp Features
  • CameraX, ZXing (QR-Codes), Glide (Image Loading)
  • Kotlin Coroutines Alle Versionen siehe app/build.gradle.kts

Projekt-Struktur

grafik

Code-Standards

  • MVVM Architecture: Saubere Trennung der Verantwortlichkeiten
  • Kotlin Coding Conventions: Offizielle Kotlin-Standards
  • Material Design Guidelines: Konsistente UI/UX
  • Single Responsibility Principle: Eine Aufgabe pro Klasse

Build-Konfiguration

  • Min SDK: 26 (Android 8.0)
  • Target SDK: 34 (Android 14)
  • Compile SDK: 34
  • Java Compatibility: Version 1.8
  • ViewBinding: Aktiviert für type-safe view access

Verwendung

  1. Benutzer-Übersicht
  • Liste aller Benutzer (API + manuell erstellt)
  • Suche: Nach Name, E-Mail, Standort
  • Sortierung: Name, Erstellungsdatum, Geburtsdatum
  • Filter: Alle, nur API, nur manuell
  1. Benutzer-Details
  • Vollständige Informationen: Foto, Name, Kontakt, Adresse
  • QR-Code: Generierung und Sharing
  • Bearbeitung: (TODO - in Entwicklung)
  1. Manuelle Benutzer-Erstellung
  • Pflichtfelder: Vorname, Nachname, E-Mail
  • Optionale Felder: Telefon, Geburtsdatum, Adresse, Geschlecht
  • Validierung: E-Mail-Format, Pflichtfeld-Prüfung
  1. AR/Kamera-Modus
  • QR-Code-Scanning: Live-Erkennung in Kameraansicht
  • AR-Overlay: Benutzer-Informationen über QR-Code
  • Navigation: Direkter Zugang zur Detailansicht
  1. Einstellungen
  • Datenbank-Management: Befüllen, Leeren, Statistiken
  • App-Präferenzen: Theme, Sprache
  • Daten-Export: (TODO - in Entwicklung)

API-Dokumentation

RandomUser.me API

  • Base URL: https://randomuser.me/
  • Endpoint: GET /api/
  • Parameter:
    • results: Anzahl Benutzer (1-5000)
    • format: json (default), xml, csv, yaml
    • nat: Nationalität (us, gb, de, etc.)
    • gender: male, female

Beispiel-Request: GET https://randomuser.me/api/?results=10&format=json&nat=de Kamera-Berechtigung:

  • Automatische Anfrage beim ersten Aufruf
  • Manuell: Einstellungen > Apps > RandomUserApp > Berechtigungen

Lizenz

Dieses Projekt wurde für Bildungszwecke an der SRH Hochschule Heidelberg entwickelt. Verwendete Open-Source-Bibliotheken:

  • Alle verwendeten Libraries unterliegen ihren jeweiligen Open-Source-Lizenzen
  • Siehe app/build.gradle.kts für vollständige Liste

Kurs: VR, AR & Mobile Development Hochschule: SRH Hochschule Heidelberg Semester: Sommersemester 2025, 4. Fachsemester Dozent: Prof. Dr. Andreas Jäger, Felix Dörschner

Links

Version: 1.0.0 Letzte Aktualisierung: 23.Juni 2025 https://github.com/LaraRF/RandomUserApp_Abgabe

About

Version: 1.0.0 Diese App demonstriert moderne Android-Entwicklungspraktiken einschließlich: Random User API Integration, Lokale SQLite Datenbank, Kamera & AR-Funktionalität, Material Design 3. Entwickelt für SRH Hochschule Heidelberg. Kurs: VR, AR und Mobile Development © 2025 RandomUserApp - Lara Friedrich

Topics

Resources

Stars

Watchers

Forks

Packages

No packages published

Languages