Ecosyste.ms: Awesome

An open API service indexing awesome lists of open source software.

Awesome Lists | Featured Topics | Projects

https://github.com/andresilvase/tree-view

A new Flutter project designed to render companies' assets disposition in a tree view structure interface.
https://github.com/andresilvase/tree-view

asset-management-app flutter-application flutter-challenge mobile-app-ui performance-optimization software-engineering tech-challenge tree-view-app

Last synced: about 1 month ago
JSON representation

A new Flutter project designed to render companies' assets disposition in a tree view structure interface.

Awesome Lists containing this project

README

        

# Tractian Challenge - Tree View App

**Choose your language**: πŸ‡§πŸ‡· Brazilian Portuguese | πŸ‡ΊπŸ‡Έ American English

A new Flutter project designed to render companies' assets disposition in a tree view structure interface.

The app does not use ANY external library to build the tree but nevertheless esteems the performance and user experience.

## Table of Contents

- [Presenting Video](#presenting-video)
- [Screenshots](#screenshots)
- [Next steps](#next-steps)

## Presenting Video



Watch the video

Building a Custom Tree View for Asset Management | Mobile Software Engineer Challenge


## Screenshots


Splashscreen


Loading states


Splashscreen
Splashscreen
Splashscreen
Splashscreen


Error states


Splashscreen
Splashscreen
Splashscreen
Splashscreen


Home


Company List Screen


Splashscreen
Splashscreen
Splashscreen
Splashscreen


Assets View


Light Mode


Splashscreen
Splashscreen
Splashscreen
Splashscreen


Dark Mode


Splashscreen
Splashscreen
Splashscreen
Splashscreen

## Next Steps

#### Caching Mechanisim

It would be great to have a mechanism to cache the downloaded company data to live during a pre-established time. Today, the time to pull down this data is not a problem, but it would allow the offline use of the app.

#### Better management device connection state

For simplicity, this project poorly handles the HTTP states. It can sharpened by manipulating the state of the device's internet connection so that when it doesn't have a connection, not even try to pull data.

#### Testings Overall

Until the date of publishing, this project does not have any piece of testing code of kind unity or integration.

#### Internationalization

To target a global public, it's fundamental to have an application that speaks to them in their mother language. The ability to communicate is one of the most valuable in a so fast-paced world and a company that does it well is in a head start over its competitors.

#### Memoization

To speed up the tree mout time, memoization could be used by passing as argument the company id to trigger the cache. This way, the code would not even enter into the Isolation step making the assets visualization view to be presented more radpidly.