Skip to content

Eiermitsucuk/Modul335

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

11 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

WorkFlowAssist

Mobile App zur schnellen Erfassung und Verwaltung von Arbeitsplatz-Problemen.

Ionic Angular Capacitor


Quick Start

# 1. Dependencies installieren
npm install

# 2. Supabase konfigurieren (siehe unten)
# Trage deine Keys in src/environments/environment.ts ein

# 3. App im Browser starten
ionic serve

App öffnet sich unter http://localhost:8100


App-Features

Tickets verwalten

  • Erstellen: Titel, Beschreibung, Kategorie, Standort
  • Ansehen: Liste mit Filter (Alle, Offen, In Bearbeitung, Gelöst)
  • Bearbeiten: Status ändern (Offen → In Bearbeitung → Gelöst)
  • Löschen: Swipe-to-Delete in der Liste

GPS-Standort

  • Automatische GPS-Erfassung beim Ticket erstellen
  • Oder manuelle Eingabe (z.B. "Raum 201")
  • Standort wird mit Koordinaten gespeichert

Offline-Modus

  • Tickets offline erstellen
  • Automatische Synchronisierung bei Online-Verbindung
  • Online/Offline Status wird angezeigt

Push-Benachrichtigungen

  • Bei Ticket-Erstellung
  • Bei Status-Änderung
  • Ein/Ausschalten in Einstellungen

Dark Mode

  • Manueller Umschalter in Einstellungen
  • Einstellung wird gespeichert
  • Alle Seiten passen sich automatisch an

Dashboard

  • Übersicht aller Tickets
  • Statistiken (Gesamt, Offen, In Bearbeitung, Gelöst)
  • Neueste Tickets
  • Schnellzugriff zu wichtigen Funktionen

Setup für Entwickler

1. Supabase einrichten

Erstelle ein kostenloses Supabase-Projekt: https://supabase.com

-- SQL-Tabelle erstellen in Supabase SQL Editor
CREATE TABLE tickets (
  id UUID DEFAULT gen_random_uuid() PRIMARY KEY,
  title TEXT NOT NULL,
  description TEXT NOT NULL,
  category TEXT NOT NULL,
  status TEXT NOT NULL DEFAULT 'Offen',
  location TEXT,
  created_at TIMESTAMP WITH TIME ZONE DEFAULT NOW(),
  updated_at TIMESTAMP WITH TIME ZONE DEFAULT NOW()
);

-- Row Level Security aktivieren
ALTER TABLE tickets ENABLE ROW LEVEL SECURITY;
CREATE POLICY "Enable all access" ON tickets FOR ALL USING (true);

Trage deine Keys ein in src/environments/environment.ts:

export const environment = {
  production: false,
  supabase: {
    url: 'DEINE_SUPABASE_URL',
    key: 'DEIN_SUPABASE_ANON_KEY'
  }
};

Mehr Details: siehe SUPABASE_SETUP.md

2. Development-Server

ionic serve

3. Auf Android testen

# Production Build
ionic build --prod

# Android Platform hinzufügen (nur einmal)
ionic cap add android

# Nach jedem Build: Sync
ionic cap sync android

# Android Studio öffnen
ionic cap open android

In Android Studio auf klicken zum Installieren auf Emulator/Gerät.


APK erstellen

Schritt-für-Schritt:

# 1. Production Build erstellen
ionic build --prod

# 2. Nach Android kopieren
npx cap sync android

# 3. Android Studio öffnen
npx cap open android

In Android Studio:

Für Debug-APK (zum Testen):

  • Build → Build Bundle(s) / APK(s) → Build APK(s)
  • APK liegt in: android/app/build/outputs/apk/debug/app-debug.apk

Für Release-APK (Production):

  • Build → Build Bundle(s) / APK(s) → Build APK(s)
  • Wähle "release" Build Variant (links in "Build Variants" Panel)
  • APK liegt in: android/app/build/outputs/apk/release/app-release.apk

Oder via Command Line:

cd android
./gradlew assembleDebug    # Debug-APK
./gradlew assembleRelease  # Release-APK

Technologien

Frontend

  • Ionic 8 - UI Framework
  • Angular 20 - TypeScript Framework
  • Capacitor 7.4 - Native Runtime

Backend

  • Supabase - Database as a Service
  • PostgreSQL - Datenbank

Capacitor Plugins

  • @capacitor/geolocation - GPS-Standort
  • @capacitor/local-notifications - Push-Benachrichtigungen
  • @capacitor/network - Online/Offline Detection
  • localforage - Lokaler Speicher

Projekt-Struktur

smart-activity-logger/
├── src/app/
│   ├── models/              # TypeScript Interfaces
│   │   └── ticket.model.ts
│   ├── services/            # Business Logic
│   │   ├── supabase.service.ts      # CRUD Operations
│   │   ├── geolocation.service.ts   # GPS
│   │   ├── storage.service.ts       # Lokaler Speicher
│   │   ├── network.service.ts       # Online/Offline
│   │   ├── notification.service.ts  # Push-Benachrichtigungen
│   │   └── theme.service.ts         # Dark Mode
│   ├── pages/               # App-Seiten
│   │   ├── ticket-create/   # Ticket erstellen
│   │   ├── ticket-list/     # Ticket-Liste
│   │   ├── ticket-detail/   # Ticket-Details
│   │   └── settings/        # Einstellungen
│   ├── home/                # Dashboard
│   └── tabs/                # Tab-Navigation
├── android/                 # Android-Projekt (für APK)
├── www/                     # Kompilierte Web-App
├── resources/               # Icon & Splash Screen
└── DOKUMENTATION.md         # Vollständige Projektdokumentation

Troubleshooting

App startet nicht

# Cache löschen und neu installieren
rm -rf node_modules package-lock.json
npm install
ionic serve

Supabase-Fehler: "Invalid API key"

  • Überprüfe src/environments/environment.ts
  • Sind URL und Key korrekt?
  • Verwende den anon/public Key, nicht den Service Key

GPS funktioniert nicht

  • Im Browser: GPS geht nur mit HTTPS oder localhost
  • Auf Gerät: GPS-Berechtigung erteilen
  • Im Emulator: "Extended Controls" → Location → GPS-Koordinaten setzen

Push-Benachrichtigungen gehen nicht

  • Im Browser: Nicht verfügbar
  • Auf echtem Gerät: Berechtigung erteilen
  • In Einstellungen: Benachrichtigungen aktivieren

Dark Mode funktioniert nicht

  • Hard Refresh im Browser: Cmd/Ctrl + Shift + R
  • In Settings aus- und wieder einschalten

Android Build schlägt fehl

# Gradle Cache löschen
cd android
./gradlew clean

# Neu bauen
cd ..
ionic build --prod
npx cap sync android

Weitere Dokumentation

  • DOKUMENTATION.md - Vollständige Projektdokumentation (ÜK Modul 335)
  • SUPABASE_SETUP.md - Detaillierte Supabase-Einrichtung

Tipps

Schneller entwickeln

# Mit automatischem Browser-Öffnen
ionic serve --open

# Auf anderem Port
ionic serve --port 8200

Native Features testen

Folgende Features funktionieren nur auf echtem Gerät oder Emulator:

  • GPS-Standort
  • Push-Benachrichtigungen
  • Kamera (falls implementiert)

Nicht im Browser verfügbar!

Performance

  • Offline-Modus für schnellere Bedienung nutzen
  • Dark Mode spart Akku (OLED-Displays)
  • Regelmäßig Tickets löschen für bessere Performance

App-Name: WorkFlowAssist
App-ID: com.workflow.assist
Version: 1.0.0

ÜK Modul 335 - Mobile-Applikation mit Ionic Framework
Dezember 2025


Los geht's!

npm install
ionic serve

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors