{"id":78,"date":"2025-03-05T06:25:38","date_gmt":"2025-03-05T06:25:38","guid":{"rendered":"https:\/\/documentation.iqonic.design\/streamit-tv\/?p=78"},"modified":"2025-06-12T10:15:37","modified_gmt":"2025-06-12T10:15:37","slug":"app-structure","status":"publish","type":"post","link":"https:\/\/documentation.iqonic.design\/streamit-tv-app\/app-structure\/","title":{"rendered":"App Structure"},"content":{"rendered":"<div class=\"nolwrap\">\n<pre class=\"wp-block-preformatted\">Estimated reading: 1 minute<\/pre>\n\n\n\n<ol class=\"wp-block-list\">\n<li><strong>Components<\/strong>: This directory contains all the reusable UI components used in the screens of the application. It allows for modular and organized development, where each screen can have multiple components.<\/li>\n\n\n\n<li><strong>Locale<\/strong>: This directory holds the JSON file for multi-language support. It facilitates easy translation and localization of the application.<\/li>\n\n\n\n<li><strong>Models<\/strong>: This directory includes a base class that serves as a data store and enables other classes to track changes to that data. It provides a structured approach to data management within the application.<\/li>\n\n\n\n<li><strong>Network<\/strong>: This directory encompasses all the API configurations for the application. It centralizes the settings and endpoints required for network communication.<\/li>\n\n\n\n<li><strong><a href=\"https:\/\/documentation.iqonic.design\/streamit-tv-app\/file-structure\/app-structure\">Screens<\/a><\/strong>: This directory contains all the individual screens of the application.<br>Each screen represents a distinct user interface with specific functionality.<\/li>\n\n\n\n<li><strong>Utils<\/strong>: The Utils directory holds the app&#8217;s configuration files, including color schemes, constants, and commonly used functions. It promotes code reuse and encapsulates common functionalities.<\/li>\n\n\n\n<li><strong>App_theme.dart<\/strong>: This file allows customization of the application&#8217;s theme, including colors, fonts, and styles. It provides a convenient way to define the visual appearance of the entire app.<\/li>\n\n\n\n<li><strong>Configs.dart<\/strong>: This file enables configuration customization for the application, such as changing the app&#8217;s name and other settings. It serves as a central hub for modifying various aspects of the application&#8217;s behavior and appearance.<\/li>\n<\/ol>\n\n\n\n<h3 class=\"wp-block-heading\"><strong>INFO<\/strong><\/h3>\n\n\n\n<p><strong>Screens<\/strong><\/p>\n\n\n\n<p>The&nbsp;<strong>Screens<\/strong>&nbsp;directory usually contains feature-wise subdirectories, each with a common structure. Below are the typical subdirectories found within a screen&#8217;s directory:<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li><strong>components<\/strong>: This directory contains all the reusable UI components used in the feature&#8217;s screens.<\/li>\n\n\n\n<li><strong>models<\/strong>: This directory typically holds data models or classes used within the feature.<\/li>\n<\/ul>\n\n\n\n<p>Additionally, the following files are commonly found within a screen&#8217;s directory:<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li><strong>controller.dart<\/strong>: This file contains classes responsible for controlling the logic and state of the feature&#8217;s screens.<\/li>\n\n\n\n<li><strong>screen.dart<\/strong>: This file is where the UI implementation for the feature resides.<\/li>\n<\/ul>\n\n\n\n<p><\/p>\n<\/div>","protected":false},"excerpt":{"rendered":"<p>Estimated reading: 1 minute INFO Screens The&nbsp;Screens&nbsp;directory usually contains feature-wise subdirectories, each with a common structure. Below are the typical subdirectories found within a screen&#8217;s directory: Additionally, the following files are commonly found within a screen&#8217;s directory:<\/p>\n","protected":false},"author":11,"featured_media":0,"parent":76,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[1],"tags":[],"class_list":["post-78","post","type-post","status-publish","format-standard","hentry","category-streamittv"],"featured_image_src":null,"author_info":{"display_name":"laraveladminiq","author_link":"https:\/\/documentation.iqonic.design\/streamit-tv-app\/author\/laraveladminiq\/"},"children":[],"_links":{"self":[{"href":"https:\/\/documentation.iqonic.design\/streamit-tv-app\/wp-json\/wp\/v2\/posts\/78","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/documentation.iqonic.design\/streamit-tv-app\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/documentation.iqonic.design\/streamit-tv-app\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/documentation.iqonic.design\/streamit-tv-app\/wp-json\/wp\/v2\/users\/11"}],"replies":[{"embeddable":true,"href":"https:\/\/documentation.iqonic.design\/streamit-tv-app\/wp-json\/wp\/v2\/comments?post=78"}],"version-history":[{"count":7,"href":"https:\/\/documentation.iqonic.design\/streamit-tv-app\/wp-json\/wp\/v2\/posts\/78\/revisions"}],"predecessor-version":[{"id":459,"href":"https:\/\/documentation.iqonic.design\/streamit-tv-app\/wp-json\/wp\/v2\/posts\/78\/revisions\/459"}],"up":[{"embeddable":true,"href":"https:\/\/documentation.iqonic.design\/streamit-tv-app\/wp-json\/wp\/v2\/posts\/76"}],"wp:attachment":[{"href":"https:\/\/documentation.iqonic.design\/streamit-tv-app\/wp-json\/wp\/v2\/media?parent=78"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/documentation.iqonic.design\/streamit-tv-app\/wp-json\/wp\/v2\/categories?post=78"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/documentation.iqonic.design\/streamit-tv-app\/wp-json\/wp\/v2\/tags?post=78"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}