I am looking for a developer to create an Android app using Flutter with a decoupled Drupal. (We prefer Flutter, but other technologies can be considered).
The main purpose of the app is to serve as a data entry tool. We are building a site in Drupal with a rest api to integrate the app. The project is a basic database with some structures (brigdes, buildings, etc..), and a ticketing system to track issues with comments and images.
The app will have the next items (see also attached images)
> Splash page with the logo of the project
> Login page, in the case that session is closed.
> Home page (With a list of the next inspections to do in the week).
> List of Structures (Bridges, etc..)
> List of inspections
> Form (add/edit a structure)
> Form (add/edit an inspection for a structure)
> Form to add - edit damages in the inspections)
The content types will be
> Structures
> Inspections
> Damages
> Structure images
> Damages Images
The fields of the content types will be obtained meanwhile an API
[login to view URL]
The result will be a json like this
{"object":"structure",
"version":"1.1",
"edit-tree": [
{"type":"tab", "name":"tab1"},
{"type":"field", "field-name":"field_title", "field_label":"Título", "field-type":"nvarchar","field-length":200, edit-"with-class-xs":"col-xs-12", "width-class-md": "col-md-12", "field-widget":"normal-input"}
{"type":"field", "field-name":"field_infra_road", "field_label":"Carretera", "field-type":"nvarchar","field-length":10, edit-"with-class-xs":"col-xs-12", "width-class-md": "col-md-12", "field-widget":"normal-input"}
]
"view-tree": [
{"type":"tab", "name":"tab1"},
{"type":"field", "field-name":"field_title", "field_label":"Título", "width-class-xs":"col-xs-12", "width-class-md": "col-md-12", "field-widget":"normal-input"}
{"type":"field", "field-name":"field_infra_road", "field_label":"Carretera", "field-type":"nvarchar","field-length":10, edit-"with-class-xs":"col-xs-12", "width-class-md": "col-md-12", "field-widget":"normal-input"}
]
}
So, You have to build a dynamic form... because we have more than 90 fields...
The field types can be (nvarchar, int, boolean, files of images)
The widgets can be text inputs, radio-buttons, checkboxes (for fields with multiple values), textarea and switchers...
The field_title will be used to save a new record, and it's directly the name of a drupal field.
Very Very important.
> App should work without connection (with an internal dabatase in SQLite, and local files)... One time the app detect the connectivity will syncrhonize with the App developed, and update (or clean local information).
How information should be stored in the Internal database
1. Metadata of content type with the version should be stored.... We have to check if version has changed (with an API [login to view URL]). In this case we get the metadata info and update our datablase
2. List of the next structures... when we open the app
3. Infrastructures associates to the structures stored
4. Damages associated with the structure stored.
5. If we create a new register of the difernet conten types, they should be stored in local...
When we Submit a form we have to call an API to save the object (with the information in JSON).. But if gives an error or not network detected we will mark (are in the mockups), as not Synchronized.
When the App detect network, try again to send the contents.
The ideal candidate should have experience in Flutter and Drupal integration. We accept also proposals in REACT or native Android, but our priority is flutter.
It's needed fluently English, and Spanish skills will be very valuous.
Please, write you "real" experience with flutter (or react), with API REST integration, and very important with off-line apps.
If you think you have a better proposal in time and price than using Flutter, you can write us.