Skip to content

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

Notifications You must be signed in to change notification settings

AndreDrummer/tree-view

Repository files navigation

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

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.