375 lines
11 KiB
Markdown
375 lines
11 KiB
Markdown
# BC-ERP Android App
|
|
|
|
Öffentliches Release-Repository für die BC-ERP Android-App. Dieses Repository enthält fertige APK-Dateien als Releases und diese bebilderte Anwenderdokumentation.
|
|
|
|
## Inhaltsverzeichnis
|
|
|
|
- [Zweck der App](#zweck-der-app)
|
|
- [Installation und Updates](#installation-und-updates)
|
|
- [Erster Start: Serveradresse einrichten](#erster-start-serveradresse-einrichten)
|
|
- [Login](#login)
|
|
- [Startseite und Sync](#startseite-und-sync)
|
|
- [Projekte](#projekte)
|
|
- [Zeiterfassung](#zeiterfassung)
|
|
- [Aufmaß](#aufmaß)
|
|
- [Materialbedarf](#materialbedarf)
|
|
- [Fotos](#fotos)
|
|
- [Profil und Monteur-Auswahl](#profil-und-monteur-auswahl)
|
|
- [Mehr und Abmelden](#mehr-und-abmelden)
|
|
- [Offline-Arbeiten und Sync-Status](#offline-arbeiten-und-sync-status)
|
|
- [Fehlerbehebung](#fehlerbehebung)
|
|
|
|
## Zweck der App
|
|
|
|
Die BC-ERP Android-App ist die Baustellen-App für Monteure und mobile Mitarbeiter. Sie wird auf der Baustelle genutzt, um projektspezifische Daten schnell und offlinefähig zu erfassen:
|
|
|
|
- aktive Projekte anzeigen
|
|
- Zeiten per Timer erfassen
|
|
- Zeiten manuell nachtragen
|
|
- Aufmaße zu Angebotspositionen oder manuell erfassen
|
|
- Materialbedarf melden
|
|
- Baustellenfotos aufnehmen oder aus der Galerie übernehmen
|
|
- lokale Änderungen synchronisieren
|
|
- Monteur-Profil für Zeitbuchungen auswählen
|
|
|
|
Die App ist für die tägliche Baustellennutzung optimiert. Sie speichert Eingaben lokal und synchronisiert diese mit dem BC-ERP Backend, sobald eine Verbindung verfügbar ist.
|
|
|
|
## Installation und Updates
|
|
|
|
Die APK wird über die Releases dieses Repositorys bereitgestellt.
|
|
|
|
1. Neuestes Release öffnen.
|
|
2. APK-Datei herunterladen.
|
|
3. APK auf dem Android-Gerät installieren.
|
|
4. Falls Android nachfragt, Installation aus dieser Quelle erlauben.
|
|
5. App öffnen und Serveradresse einrichten.
|
|
|
|
Die App prüft neue Releases automatisch. Wenn eine neuere APK verfügbar ist, wird sie heruntergeladen und anschließend zur Installation angeboten.
|
|
|
|
Wichtig:
|
|
|
|
- Updates werden ohne Play Store ausgeliefert.
|
|
- Die App installiert Updates nicht heimlich. Android zeigt vor der Installation eine Bestätigung an.
|
|
- Die Serveradresse wird beim ersten Start gesetzt und kann später über `Serveradresse ändern` neu gesetzt werden.
|
|
|
|
## Erster Start: Serveradresse einrichten
|
|
|
|
Beim ersten Start fragt die App nach der Backend-Adresse. Diese Adresse verbindet die Android-App mit dem BC-ERP Server.
|
|
|
|

|
|
|
|
Vorgehen:
|
|
|
|
1. Backend-Adresse eintragen, zum Beispiel `http://192.168.178.50:3000`.
|
|
2. `Verbinden und speichern` antippen.
|
|
3. Die App prüft automatisch `/api/health`.
|
|
4. Bei erfolgreicher Verbindung öffnet sich der Login.
|
|
|
|
Hinweise:
|
|
|
|
- Die App ergänzt `/api` automatisch, wenn es fehlt.
|
|
- Bei einem Serverwechsel werden alte Login-Daten verworfen.
|
|
- Wenn die Verbindung fehlschlägt, zeigt die App die technische Ursache an, zum Beispiel Timeout oder HTTP-Fehler.
|
|
|
|
## Login
|
|
|
|
Nach der Servereinrichtung meldet sich der Benutzer mit E-Mail und Passwort an.
|
|
|
|

|
|
|
|
Voraussetzungen:
|
|
|
|
- Der Benutzer muss im BC-ERP Backend existieren.
|
|
- Das Recht `App Login` muss in der Benutzerverwaltung aktiviert sein.
|
|
- Admin-Benutzer haben alle Rechte.
|
|
|
|
Funktionen:
|
|
|
|
- `Anmelden`: meldet den Benutzer an und speichert einen mobilen API-Schlüssel.
|
|
- `Serveradresse ändern`: öffnet das Server-Setup und löscht lokale Login-Daten.
|
|
- `Abmelden`: entfernt den gespeicherten Login.
|
|
|
|
Wenn der Login fehlschlägt, zeigt die App eine konkrete Meldung, zum Beispiel falsche Zugangsdaten, fehlendes App-Recht oder nicht erreichbarer Server.
|
|
|
|
## Startseite und Sync
|
|
|
|
Die Startseite zeigt den mobilen Arbeitsstand.
|
|
|
|

|
|
|
|
Bereiche:
|
|
|
|
- `Meine Projekte`: Anzahl der lokal verfügbaren aktiven Projekte.
|
|
- `Schnellzugriff`: direkte Navigation zu Projekten, Zeiten, Fotos und Profil.
|
|
- `Sync`: startet eine manuelle Synchronisierung.
|
|
- `Letzter Sync`: Zeitpunkt des letzten Sync-Laufs.
|
|
- `lokal gespeichert`: Anzahl noch nicht synchronisierter lokaler Änderungen.
|
|
|
|
Der automatische Hintergrund-Sync läuft still. Der manuelle Sync lädt aktuelle Projektdaten und sendet lokale Änderungen.
|
|
|
|
## Projekte
|
|
|
|
Die Projektliste enthält aktive beauftragte Projekte und Projekte in Arbeit.
|
|
|
|

|
|
|
|
Jede Projektkarte zeigt:
|
|
|
|
- Projekttitel
|
|
- Projektnummer
|
|
- Status, zum Beispiel `Beauftragt` oder `In Arbeit`
|
|
|
|
Durch Antippen öffnet sich die Projektdetailansicht.
|
|
|
|

|
|
|
|
Von einem Projekt aus sind alle Baustellenfunktionen erreichbar:
|
|
|
|
- `Zeit erfassen`
|
|
- `Zeit nachtragen`
|
|
- `Zeiten anzeigen`
|
|
- `Foto aufnehmen`
|
|
- `Aufmaß erfassen`
|
|
- `Materialbedarf melden`
|
|
|
|
## Zeiterfassung
|
|
|
|
Die Zeiterfassung unterstützt zwei Arbeitsweisen: Timer und manueller Nachtrag.
|
|
|
|
### Timer
|
|
|
|

|
|
|
|
Vorgehen:
|
|
|
|
1. Projekt auswählen.
|
|
2. Optional Tätigkeit eintragen.
|
|
3. `START` antippen.
|
|
4. Nach Arbeitsende `STOPP` antippen.
|
|
|
|
Die App speichert die Zeit lokal und markiert sie als `PENDING`, bis sie synchronisiert wurde.
|
|
|
|
### Manuelle Zeit
|
|
|
|

|
|
|
|
Vorgehen:
|
|
|
|
1. Tab `Manuell` wählen.
|
|
2. Projekt auswählen.
|
|
3. Tätigkeit, Datum und Start/Ende oder Dauer eintragen.
|
|
4. `Zeit nachtragen` antippen.
|
|
|
|
Die Dauer kann direkt als Stundenwert eingegeben werden, zum Beispiel `1,5`. Alternativ berechnet die App die Dauer aus Start- und Endzeit.
|
|
|
|
### Zeiten anzeigen, bearbeiten und löschen
|
|
|
|

|
|
|
|
Die Zeitenliste zeigt:
|
|
|
|
- Tätigkeit
|
|
- Projekt
|
|
- Datum
|
|
- Start- und Endzeit
|
|
- Dauer
|
|
- Sync-Status
|
|
|
|
Aktionen:
|
|
|
|
- `Bearbeiten`: öffnet die gespeicherte Zeitbuchung zur Korrektur.
|
|
- `Löschen`: entfernt eine lokale Buchung.
|
|
- `Aktualisieren`: synchronisiert und lädt aktuelle Daten.
|
|
|
|
## Aufmaß
|
|
|
|
Aufmaße können auf Basis vorhandener Angebotspositionen oder manuell erfasst werden.
|
|
|
|

|
|
|
|
Die Liste gruppiert Aufmaße nach Status:
|
|
|
|
- `Offen`: noch nicht abgerechnet
|
|
- `Abgerechnet`: bereits einer Rechnung zugeordnet
|
|
|
|
Jeder Eintrag zeigt Bezeichnung, Menge, Einheit, Positionstyp und Sync-Status.
|
|
|
|
### Aufmaß erfassen
|
|
|
|

|
|
|
|
Modus `Angebot`:
|
|
|
|
1. Angebotsposition auswählen.
|
|
2. Aufgemessene Menge eintragen.
|
|
3. Optional Notiz hinzufügen.
|
|
4. `Lokal speichern` antippen.
|
|
|
|
Modus `Manuell`:
|
|
|
|
1. Typ `Material` oder `Maschine` wählen.
|
|
2. Bezeichnung, Einheit und Menge eintragen.
|
|
3. Optional Einzelpreis und Notiz ergänzen.
|
|
4. Lokal speichern.
|
|
|
|
Die Daten werden offline gespeichert und beim nächsten Sync an BC-ERP übertragen.
|
|
|
|
## Materialbedarf
|
|
|
|
Materialbedarf erfasst benötigtes Material direkt aus der Baustelle.
|
|
|
|

|
|
|
|
Die Liste zeigt:
|
|
|
|
- Materialbeschreibung
|
|
- Menge und Einheit
|
|
- Notiz
|
|
- Sync-Status
|
|
|
|
### Materialbedarf melden
|
|
|
|

|
|
|
|
Vorgehen:
|
|
|
|
1. Material eintragen.
|
|
2. Menge und Einheit wählen.
|
|
3. Optional Notiz ergänzen.
|
|
4. `Lokal speichern` antippen.
|
|
|
|
Der Bedarf wird lokal gespeichert und beim Sync an das Backend übertragen. Im Desktop kann der Bedarf weiterbearbeitet, bestellt, geliefert und einem Angebot zugeordnet werden.
|
|
|
|
## Fotos
|
|
|
|
Die App speichert Baustellenfotos projektbezogen und synchronisiert sie mit dem Backend.
|
|
|
|

|
|
|
|
Die Fotoliste zeigt:
|
|
|
|
- Vorschaubereich
|
|
- Titel
|
|
- Aufnahmedatum
|
|
- Sync-Status
|
|
|
|
Durch Antippen öffnet sich eine Detailansicht mit Bild, Titel, Beschreibung und Zeitpunkt.
|
|
|
|
### Foto aufnehmen oder auswählen
|
|
|
|

|
|
|
|
Vorgehen:
|
|
|
|
1. Im Projekt `Foto aufnehmen` wählen.
|
|
2. `Foto aufnehmen` oder `Aus Galerie wählen` antippen.
|
|
3. Optional Titel und Beschreibung ergänzen.
|
|
4. `Lokal speichern` antippen.
|
|
|
|
Die App speichert das Foto zuerst lokal. Beim Sync wird das Bild als Upload an BC-ERP gesendet.
|
|
|
|
## Profil und Monteur-Auswahl
|
|
|
|
Im Profil wird der Monteur gewählt, auf den Zeitbuchungen laufen.
|
|
|
|

|
|
|
|
Vorgehen:
|
|
|
|
1. Monteur aus der Liste wählen.
|
|
2. `Speichern` antippen.
|
|
|
|
Hinweise:
|
|
|
|
- Die Monteurliste kommt aus dem Backend und wird offline zwischengespeichert.
|
|
- Ein Benutzer kann im Desktop einen Standardmonteur erhalten.
|
|
- Nach dem Login übernimmt die App den Standardmonteur automatisch, falls er hinterlegt ist.
|
|
|
|
## Mehr und Abmelden
|
|
|
|
Der Bereich `Mehr` zeigt kompakte Konto- und Statusinformationen.
|
|
|
|

|
|
|
|
Angezeigt werden:
|
|
|
|
- angemeldeter Benutzer
|
|
- Anzahl lokaler Änderungen
|
|
- Abmelden-Funktion
|
|
- App-Informationen
|
|
|
|
`Abmelden` löscht den gespeicherten Login und führt zurück zum Login.
|
|
|
|
## Offline-Arbeiten und Sync-Status
|
|
|
|
Die App ist offlinefähig. Eingaben werden zuerst lokal gespeichert und später synchronisiert.
|
|
|
|
Sync-Status:
|
|
|
|
- `⏳`: lokal gespeichert, noch nicht synchronisiert
|
|
- `✓`: erfolgreich synchronisiert
|
|
- `⚡`: Konflikt oder Sonderstatus
|
|
|
|
Offline gespeichert werden:
|
|
|
|
- Zeiten
|
|
- Aufmaße
|
|
- Materialbedarf
|
|
- Fotos
|
|
- Projekt- und Monteur-Cache
|
|
|
|
Bei wiederhergestellter Netzwerkverbindung startet die App automatisch einen Sync. Zusätzlich kann jederzeit manuell über `Sync` oder `Aktualisieren` synchronisiert werden.
|
|
|
|
## Fehlerbehebung
|
|
|
|
### App fragt nicht nach Serveradresse
|
|
|
|
Aktuelle Version installieren und bei Tests die App-Daten löschen oder die App neu installieren. Ab Version `1.0.10` wird Android-Backup für App-Einstellungen deaktiviert, damit alte Serverdaten nicht automatisch wiederhergestellt werden.
|
|
|
|
### Login klappt nicht
|
|
|
|
Prüfen:
|
|
|
|
- Serveradresse korrekt?
|
|
- Backend erreichbar?
|
|
- Benutzer aktiv?
|
|
- Passwort korrekt?
|
|
- App-Recht in der Benutzerverwaltung aktiviert?
|
|
|
|
### Projekte fehlen
|
|
|
|
Prüfen:
|
|
|
|
- Projektstatus ist `Beauftragt` oder `In Arbeit`.
|
|
- Benutzer ist online und kann synchronisieren.
|
|
- Einmal `Sync` auf der Startseite antippen.
|
|
|
|
### Zeiten können nicht erfasst werden
|
|
|
|
Prüfen:
|
|
|
|
- Im Profil ist ein Monteur ausgewählt.
|
|
- Projekt ist lokal verfügbar.
|
|
- Datum und Dauer sind korrekt gesetzt.
|
|
|
|
### Fotos werden nicht synchronisiert
|
|
|
|
Ab Version `1.0.11` werden Foto-Uploads wieder als echtes `multipart/form-data` gesendet. Wenn Fotos weiterhin ausstehen:
|
|
|
|
- Netzwerkverbindung prüfen.
|
|
- Serveradresse prüfen.
|
|
- Manuell `Sync` starten.
|
|
- Backend-Uploads-Verzeichnis prüfen.
|
|
|
|
### Update wird nicht installiert
|
|
|
|
Prüfen:
|
|
|
|
- Installation aus unbekannten Quellen für BC-ERP erlauben.
|
|
- Download-Benachrichtigung antippen.
|
|
- Genug Speicherplatz auf dem Gerät vorhanden?
|
|
|
|
## Release-Hinweis
|
|
|
|
Dieses Repository enthält nur öffentliche Release-Artefakte und Dokumentation. Der Quellcode des Hauptprojekts liegt nicht in diesem Repository.
|