mimib00 / o_mejor_oferta

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

O Mejor Oferta

An open source annotation tool built using dart and flutter framework.

Folder Structure - folder by screens

The point of a structure is to make it easy to find stuff & make changes as new requirements arise. A good structure does this for both experienced and new developers.

  • core:

    Contains App Services, Api Calls, Localization etc., All API, GPS data, Cache etc are fetched from here

    • config- Contains all the configuration files for the app.
    • localization- Contains all the localization files for the app.
    • routes - Contains all the routes for the app.
    • controllers- All the globally used controllers for the app.
    • theme- Contains the global app theme data.
  • gen: Contains Asset generated bundle

  • meta:

    Contains pages, widgets, utils etc that are common for multiple features. For example: a Custom Loading indicator, Error Pages, Get location function etc

    • widgets - Contains globally used widgets for the app.
    • utils - Contains globally used utils for the app.
    • models - Model classes for the app.
  • views:

    UI Screens having a separate controller assigned to each of them

    • view A - Can be any screen Ex. home_screen
      • components - Contains all the components for the screen A.
      • controllers - Contains all the controllers for the screen A.
      • screens - Contains all the views for the screen A, Ex. A page is having multiple tabs
        • tab A - Can be any tab Ex. home_tab
          • components - Contains all the components for the tab A.
          • controllers - Contains all the controllers for the tab A.

Flutter App Coding Guidelines:

  • Using latest stable version of Flutter 3.0.1.
  • image
  • Use lower_case_file_names.dart.
  • Minimize use of stateful widgets.
  • Use const for all constants.
  • Minimize use of setState().
  • Use Named Routes for all the screens.
  • Use line length 120 for dart files.
  • image

Used Packages:

  • get - State Management, Localization, Theming, etc.
  • sizer - Screen size utility for Responsive Design.
  • dio - To manage Http requests.
  • google_fonts - To have access to fonts.

About


Languages

Language:Dart 88.6%Language:C++ 5.0%Language:CMake 4.3%Language:Swift 0.6%Language:Ruby 0.6%Language:HTML 0.4%Language:C 0.3%Language:Kotlin 0.0%Language:Objective-C 0.0%