Tower Inspector
Introduction
The Tower Inspector is based on the Rfid Web Application and the Inspector Android App. The original goal was to allow organisations to perform distributed data collection and centralized data processing and reporting.
- The main properties of the system:
- Two databases are on the server side
- PostgreSQL database to keep user data and to generate report from (PostgreSQL is ideal for reporting)
CouchDB for bi-directional data synchronization between the server and the Inspector Android App (CouchDB is ideal for synchronization)
The PostgeSQL database has to be synchronized manually from the CouchDB database from the Rfid Web Application to generate reports with actualized data
Same user credentials (email address and password) are used to login to the Rfid Web Application and to connect to the server from the Inspector Android App
The user credentials are entered and verified with an email confirmation system on the Rfid Web Application
If a user account is confirmed, that the user is getting a registered status on the server side, what is enough to use the Inspector Android App, but has to be changed to access services on the Rfid Web Application
There are 4 access level on the Rfid Web Application: registered, viewer, normal and admin. The level of a user can be changed by a user with admin level
Configuration for location and inspection data templates are saved in CouchDB and has to be downloaded (synchronized) to the Inspector Android App. Therefore the app can not be used until the user credentials entered and the configuration downloaded.
- Two databases are on the server side
Differences between Inspector and Tower Inspector
While the Inspector Android App is used mainly by technical peoples (Ingenieurs, inspectors, etc.) the Tower Inspector Android App has to focus on everybody with any education level. Therefore the following changes where made:
- Entering credentials is forced until the app is initialized (first download of location and inspection configuration is done)
Synchronization downloads only location and inspection configuration from the server to the Tower Inspector Android App
- Only one location per type can be entered and they appear on the home page of the app as big buttons
- Clicking on a location the user is guided through all inspections (questions) belonging to a location
- The user is forced to attach photo(s) to the inspections if required (NOT IMPLEMENTED YET)
- Photos moved to the inspection edit screen
- On the main page a "Verify data and upload" button should help the user to upload his locations, inspections and photos. (NOT IMPLEMENTED YET)
Features Not Yet Implemented
- The following items are on the way:
- Force saving photos if at least one photo is required
- Question without real input, only photos required
- Checking if all questions answered and photos saved
- Continue from the last processed question
Open Issues
Registration
The registration procedure has to be simplified for users who is using only the Tower Inspector Android App. The requirements has to be defined. I think, that the user has to be verified to achieve that no garbage data is entered in the system and every user can be reached. There are more possibilities:
The current solution: the user has to register on the Rfid Web Application and after successful email confirmation he can use the Tower Inspector Android App with the same credentials. Disadvantages: the user has to enter his credentials twice and he dowsn't understand, what he has to do with the Rfid Web Application.
The user could enter his email address and password in the Tower Inspector Android App, which would send it to the server. The server sends the confirmartion email as above. Advantage: the user has to enter his credentials only once. Disadvantage: He is still navigated to the Rfid Web Application with the confirmation email (however with smart status text he can be informed correctly).
The user is identified not by email, but by his mobile number. He has to enter his credentials (mobile number, password) in the Tower Inspector Android App, which would send it to the server. The server sends a one time password (OTP) as SMS what the user has to enter manually (or the deluxe version, the app catches it) and the app sends it back to the server to complete the verification.
Google Play Store
We should use Google Play Store to deploy the Tower Inspector Android App. There are many advantages: the app would be downloaded not from an insecure source anymore, the user has to allow access to the resources of the phone, we don't have to maintain a download page, etc. To add the Tower Inspector Android App to Google Play Store I need an icon, a name (is "Tower Inspector" OK?), a short and a long description.