# MobileEventLog A cross plattform project for android and ios to log events offline everywhere and sync them to sensor. Developed with flutter. A short how to use can be found below documentation/README.md <br />  <br /> ## Concept - Config page: Select the collection and get corresponding devices, all event types. Store all this to a local persistent configuraion. - Add Event Page: Allow selection of a device and adding a new event with all details. Add button adds the event to the staged events. Fields are not cleared but kept as they are. - Staged Event: Show all entered and not yet uploaded events. Allow modification of all fields here. Alternatively show all events including uploaded once. ## Local Data Concept - The configuration widget is used to get the online available information for available devices and event creation. - This includes: All collections, All devices part of a selected collection, Event operation types - This "base data" is required to provide the dropdown menu options on the addevent page. - This "base data" is stored persistently, so that it is also available offline! ## Add Event Page - Use Switch for automatic GNSS and Time update. - Show "now" time button only if GNSS is disabled. This button shall fill the timestamp with the current utc time. - Add stores the event to a local sql database - A slide switch activates GNSS locationing. A field shall signal the GNSS status "no fix" or "x m presision". The fields lat, long, elevation and timestamp are updated automatically if GNSS is enabled. - Input validation is done according sensor.awi.de Free Text: "a-z , A-Z , _ , 0-9 , ,(Comma) , ( , ) , + , - , . , :" -90 => Latitude <= +90 -180 => Longitude <= +180 Elevation: any numer ## View & Sync Page - Events added on the addevent page are stored persistently (sql database). They can be displayed in the view events widget. Each event has a flag which shows if the event is already exported to sensor. A slide switch allowes to show all events? ## Configuration Page - Switch to select if Mission or Collection based Or Own editable devices? - Dropdown "Collection" to select a collection / mission - Button "get Collection devices from Sensor" - Button "store Collection devices locally" - Select a Mission from the new Sensor-Mission-Management to get a set of devices. - Username und passwort. "Test login on store even if not required here" - Functionality to export events locally for backup in the field! # TODOs - Provide configuration instead of collection with: https://sensor.awi.de/rest/sensors/device/getEditableItemsOfContact/mobileeventlog.awi%40gmail.com - Allow logging of events also without sensor account. Everything except the upload back to sensor shall work. - Allow adding an event to more than one device (urn)! "make UrnId => UrnIds" sync a event to every listed urn. ? Really needed? - Compile an Apple iOS version. - On older Android 6 Devices the following error is shown" OS Error CERTIFICATE_VERIFY_FAILED: certificate has expired". Fix or require at least Android x? - Add Git Tags as version information and show in app. - Implement switch to select sandbox or productive version? ## UI Feedback - Desired Colors DAM Arctic: #00afb9 DAM Ocean: #0f1e50 Feedbackpopups: Background: #CEEDEB Text: #57827E ## Overview - Add Icon to Add, View and Configuration button. Then use uppercase Text. ## Configuration - Collection List Drop Down. Item separation "grey line" + Abbort button. "Highlight "chosen collection" italic or pinned on top. Sort alphabetic. - Add a selection mode functionality. 1. Own devices (based on e-mail adress as editor on devices), 2. Collections, 3. Mission management based - https://sandbox.sensor.awi.de/rest/sensors/device/getItemsOfContact/mbetz%40awi.de - Split in two widgets? 1st to login und 2nd to configure. Allow configuration only with successfull login? ## Add Event - Show \* next to lable for required fields. - Event Type /URN Item separation and hightlighting chosen type as in configuration. - Label with counting up number? - Set in configuration: Label on Add Event is beeing cleared but GNSS data is not. Harmonize this. - Decide if GNSS switch shall be moved next to lat long fields. Similar to the NOW field. ## View & Events - "All Events" "Pending Events" on first line above table. Alligned right. 50pix hight distance to table start. - Allow to remove pending event(s) or set them to "deleted" - Feedback popup as in the other widgets. ## Wishlist: - Allow upload of pictures check interface how to upload with sensor. - How to log events for a device which does not exist yet? Dummy device in app and assign befor upload? - Collection im Feld auswähle, Collection - Arbeitsgruppenzugehörigkeit. - URN Dropdown filter by character. ~500 Geräte Verankerungsgeräte. Mission Sub Subcollecction/ Submission z.B. Verankerung oder Eisarbeiten oder Bojen? - unique labels are desired by PANGAEA. Is adding the MissionName as a prefix to label usfull? - Document taken sample via IGSN number QR Code? Scan a QR code.