Projekt: Aplikacja do automatyzacji zbioru i rejestracji danych o odbiorze mleka w branży mleczarskiej

Cel: Zautomatyzować proces rejestrowania ilości surowca mlecznego odbieranego przez kierowców od rolników i przesyłania tych danych do centralnej bazy danych w czasie rzeczywistym, z uwzględnieniem funkcji historii, bezpieczeństwa i przyszłej integracji z systemem ERP.

Sprzęt:
- Urządzenie kierowcy: stary smartfon z Androidem (działający offline i online, ładowany w pojeździe).
- Urządzenie rolnika: aplikacja mobilna wyświetlająca historię odbiorów, dostęp tylko do własnych danych.
- Komputer biurowy: Windows 11.

Zakres funkcjonalności aplikacji kierowcy:
1. Rejestracja ilości mleka (litry) przez kierowcę.
2. Automatyczny zapis daty i godziny pobrania.
3. Ręczne przypisanie numeru dostawcy (ID).
4. Weryfikacja lokalizacji GPS w tle – rozpoznawanie punktu odbioru na podstawie współrzędnych (z lokalnej bazy GPS).
5. Zapis danych do lokalnej bazy danych (TinyDB).
6. Dodatkowy przycisk wyświetlający historię zapisanych odbiorów (tylko dla kierowcy, tylko jego własne dane).
7. Zabezpieczenie: brak możliwości edycji danych po ich zapisaniu.

Zakres funkcjonalności aplikacji rolnika:
1. Prosty interfejs logowania przez ID dostawcy i hasło.
2. Dostęp tylko do własnych danych: ilości, daty, godziny, jakość (późniejsza integracja).
3. Historia dostaw i podsumowania miesięczne (raporty).

Technologie:
- MIT App Inventor.
- TinyDB (lokalna baza danych).
- GPS lokalny + przypisanie do punktów odbioru na podstawie współrzędnych.
- Możliwość eksportu danych w formacie CSV.
- Przygotowane otwarte API i struktura umożliwiająca integrację z systemami ERP.
- W przyszłości planowane zabezpieczenie danych za pomocą IPFS lub blockchain (tylko do przechowywania i autentykacji wpisów).

Etapy wdrożenia:
1. Faza testowa:
   - Aplikacja tylko dla jednego kierowcy (osoba testująca).
   - Wprowadzanie danych ręcznie.
   - Lokalna baza GPS z punktami odbioru (plik CSV zawiera: numer dostawcy, miejscowość, współrzędne).
   - Działanie offline (z synchronizacją w tle gdy dostęp do internetu).
2. Faza produkcyjna:
   - Dodanie pełnej historii, automatycznego GPS rozpoznającego punkt, integracji z miernikami pojazdu (jeśli możliwe).
   - Przeniesienie danych na serwer lub do bezpiecznej chmury.
   - Aplikacja rolnika – możliwość pobierania danych tylko z własnego konta.
   - Raportowanie dzienne, miesięczne, eksport CSV.

Wymagania plikowe:
- Lokalna baza punktów odbioru w formacie CSV.
- Aplikacja z funkcją eksportu do CSV.
- Projekt zapisany jako plik `.aia`.

Dodatki:
- Wersja na dwa ekrany:
  - Ekran główny: rejestracja danych, przycisk "Zapisz", pola tekstowe (TextBox1 - ID, TextBox2 - litry, TextBox3 - temperatura).
  - Ekran historia: tylko odczyt danych, format tekstowy.
- Komponenty: 3 × TextBox, 2 × Button, 1 × Label (opcjonalnie więcej), 1 × Clock, 1 × TinyDB, 1 × LocationSensor (GPS).
- Kodowanie daty i godziny poprzez komponent Clock1 w momencie kliknięcia przycisku "Zapisz".
- Wszystkie dane zapisywane w TinyDB jako lista z wartością klucza "historia".
- Button "Historia" otwiera drugi ekran i wyświetla listę zapisanych wpisów w Label1.
- Dane w TinyDB nie mogą być edytowalne z poziomu użytkownika.

Dostawca testowy:
- Plik CSV zawiera dane testowe do importu: numer dostawcy, miejscowość, współrzędne GPS.
- Jeśli rozpoznanie GPS nie zadziała, numer dostawcy wpisywany ręcznie.

Zadanie:
Na podstawie powyższych informacji zaprogramuj kompletną aplikację w MIT App Inventor lub dowolnym środowisku zgodnym z Androidem, generując plik `.aia` i `.apk`, gotowy do instalacji i testów. Nie zadawaj żadnych dodatkowych pytań. Użyj danych testowych i przygotuj projekt zgodnie z opisem. Wygeneruj gotowy projekt zawierający wszystkie opisane funkcje.