Link para o TRACTIAN Read-me aqui.
- Sumary
- General Description
- Prototype Presentation
- Scope
- Requirements
- What Could Be Better
- Challenges Faced
- Tools Used in the Projec
- Portuguese Version
This document contains the specifications for creating a mobile application that consumes data from the TRACTIAN API and displays it in a tree structure. We have filters for name, criticality level, and sensor type. There is also a search bar.
The goal is to provide a proper management and maintenance method to ensure the efficient and predictable operation of assets essential to the industries.
untitled.webm
Develop a mobile application capable of serving the iOS and Android Operating Systems using the Flutter multiplatform framework where the Dart language is applied.
1. Home Page
This is the menu for users to navigate between different companies of the same client and access their assets.
2. Assets Page
- The Asset Tree is the main resource, offering a visual tree representation of the company's asset hierarchy.
- Sub-resources:
- Visualization
- Present a dynamic tree structure displaying components, assets and locations.
- Filters
Text Search
- Users can search for specific components/assets/locations within the asset hierarchy.
Energy Sensors
- Implement a filter to isolate energy sensors within the tree.
Critical sensor status
-
Integrate a filter to identify assets with critical sensor status.
-
When filters are applied, the asset's parents cannot be hidden. The user must know the entire path of the asset. Items that are not related to the asset's path should be hidden.
- Refine the listing to a better visualization;
- Finalize the search bar and filters
- Finalize the feature that applies the cache and add the offline database (SQLite for example);
- Find a way to the use of the flutter isolates;
- Build more refined unit tests with broader coverage as a result;
- Add a details screen to the project containing information about the components based on the API.
- Dealing with the purposefully disorganized API;
- Dealing with the cache of the API
- Setting up the primary structure of the project;
- Use Flutter's recursivity more efficiently.
- Clean Arch: separating code responsibilities so that there is independence to better reuse of the code and more clarity on the business rules applied;
- Dio: simplified execution of requests;
- Cubit: simplified state management based on events;
- GetIt: dependency injection to improve the code decoupling;
- Mocktail and Mokito: To facilitate the unit testing by creating mocks without extra code.
Read-me in Portuguese here.