Compare commits
3 Commits
| Author | SHA1 | Date | |
|---|---|---|---|
| a14c55b7fd | |||
| 8f8706a032 | |||
| 55b0bf7c89 |
418
README.md
@@ -1,3 +1,417 @@
|
||||
# bc-erp-android-releases
|
||||
# BC-ERP Android App
|
||||
|
||||
Public BC-ERP Android APK release assets
|
||||
Ö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.
|
||||
|
||||
### APK herunterladen
|
||||
|
||||
1. Auf dem Android-Gerät dieses Repository öffnen:
|
||||
`https://git.bahmcloud.de/bahmcloud/bc-erp-android-releases`
|
||||
2. Oben oder rechts den Bereich `Releases` öffnen.
|
||||
3. Das neueste Release wählen, zum Beispiel `BC-ERP Android 1.0.11`.
|
||||
4. Unter `Assets` die Datei `BC-ERP-Android-<version>.apk` herunterladen.
|
||||
5. Nach dem Download die APK über die Download-Meldung, die Dateien-App oder den Browser-Download öffnen.
|
||||
|
||||
### Installation aus unbekannter Quelle erlauben
|
||||
|
||||
Da die App nicht über den Play Store installiert wird, fragt Android beim ersten Installieren nach einer Freigabe.
|
||||
|
||||
Je nach Gerät heißt die Einstellung zum Beispiel:
|
||||
|
||||
- `Aus dieser Quelle zulassen`
|
||||
- `Unbekannte Apps installieren`
|
||||
- `Installation unbekannter Apps erlauben`
|
||||
|
||||
Vorgehen:
|
||||
|
||||
1. APK öffnen.
|
||||
2. Wenn Android blockiert, `Einstellungen` antippen.
|
||||
3. Für den verwendeten Browser oder Dateimanager `Aus dieser Quelle zulassen` aktivieren.
|
||||
4. Zurück zur APK gehen.
|
||||
5. `Installieren` antippen.
|
||||
|
||||
Nach der Installation kann die Freigabe bei Bedarf wieder deaktiviert werden. Für spätere Updates muss sie eventuell erneut erlaubt werden.
|
||||
|
||||
### Erster App-Start
|
||||
|
||||
1. BC-ERP öffnen.
|
||||
2. Serveradresse eintragen.
|
||||
3. Mit Benutzerkonto anmelden.
|
||||
4. Im Profil den Monteur prüfen oder auswählen.
|
||||
5. Einmal `Sync` ausführen, damit Projekte und Monteure lokal verfügbar sind.
|
||||
|
||||
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.
|
||||
|
||||
### Update installieren
|
||||
|
||||
Wenn die App ein Update findet:
|
||||
|
||||
1. Download abwarten.
|
||||
2. Android-Benachrichtigung zum heruntergeladenen Update antippen.
|
||||
3. Falls Android die Installation blockiert, Installation aus dieser Quelle erlauben.
|
||||
4. Update installieren.
|
||||
5. App wieder öffnen.
|
||||
|
||||
Die bestehenden lokalen App-Daten bleiben bei einem normalen Update erhalten. Bei einer kompletten Neuinstallation müssen Serveradresse und Login 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.
|
||||
|
||||
BIN
docs/android-app/01-server-setup.png
Normal file
|
After Width: | Height: | Size: 41 KiB |
BIN
docs/android-app/02-login.png
Normal file
|
After Width: | Height: | Size: 45 KiB |
BIN
docs/android-app/03-start-sync.png
Normal file
|
After Width: | Height: | Size: 65 KiB |
BIN
docs/android-app/04-projekte.png
Normal file
|
After Width: | Height: | Size: 53 KiB |
BIN
docs/android-app/05-projekt-detail.png
Normal file
|
After Width: | Height: | Size: 62 KiB |
BIN
docs/android-app/06-zeiterfassung-timer.png
Normal file
|
After Width: | Height: | Size: 78 KiB |
BIN
docs/android-app/07-zeiterfassung-manuell.png
Normal file
|
After Width: | Height: | Size: 86 KiB |
BIN
docs/android-app/08-zeiten-liste.png
Normal file
|
After Width: | Height: | Size: 77 KiB |
BIN
docs/android-app/09-aufmass-liste.png
Normal file
|
After Width: | Height: | Size: 78 KiB |
BIN
docs/android-app/10-aufmass-erfassen.png
Normal file
|
After Width: | Height: | Size: 68 KiB |
BIN
docs/android-app/11-materialbedarf.png
Normal file
|
After Width: | Height: | Size: 66 KiB |
BIN
docs/android-app/12-materialbedarf-melden.png
Normal file
|
After Width: | Height: | Size: 60 KiB |
BIN
docs/android-app/13-fotos.png
Normal file
|
After Width: | Height: | Size: 51 KiB |
BIN
docs/android-app/14-foto-aufnehmen.png
Normal file
|
After Width: | Height: | Size: 65 KiB |
BIN
docs/android-app/15-profil.png
Normal file
|
After Width: | Height: | Size: 56 KiB |
BIN
docs/android-app/16-mehr.png
Normal file
|
After Width: | Height: | Size: 54 KiB |
BIN
docs/android-app/login-screen.png
Normal file
|
After Width: | Height: | Size: 45 KiB |
BIN
docs/android-app/server-setup-screen.png
Normal file
|
After Width: | Height: | Size: 41 KiB |