true_design_system_component 1.0.12 copy "true_design_system_component: ^1.0.12" to clipboard
true_design_system_component: ^1.0.12 copied to clipboard

Design system's documentation for detailed guidelines on customization options, accessibility considerations, and best practices for creating a consistent and user-friendly experience.

New App Architecture #

flowchart LR
AA(True Design System)
style AA fill:#fefefe,stroke:#aaa,stroke-width:4px,color:#000
AA --> A
AA --> B
AA --> C
AA --> D
AA --> E
A(Core App)
B(Package) -- Flutter package 0.1.0 --> F
C(Payment) -- Flutter package 0.1.0--> F
D(Reward) -- Flutter package 0.1.0--> F
E(Non-Telco) -- Flutter package 0.1.0--> F
A -- Flutter package 0.1.0--> F(New App)
F --> G(iOS Native)
F --> H(Android Native)  

Tools #

  1. Visual Studio Code
    • extension.json
      {
      "recommendations": [
      "dart-code.dart-code",
      "dart-code.flutter",
      "esbenp.prettier-vscode"]
      }
      
  2. Install Homebrew (https://brew.sh/)
    • Install Homebrew /bin/bash -c "$(curl -fsSL https://rawgit.flutter-io.cn/Homebrew/install/HEAD/install.sh)"
    • Install Flutter (3.13.2) brew install flutter
    • Install Cocoapods (1.12.1) brew install cocoapods
  3. Install Xcode via AppStore

Commit Message Structure #

Each commit message should have a clear and concise structure:

  • Jira ID: Prefix commit with Jira ID git commit -m "INNO-34 <message>"
  • Type: Describes the purpose of the commit. It can be select from https://gitmoji.dev/ example :green_heart:💚
  • Scope: (Optional) Describes the module, component, or area of the project the commit affects.
  • Subject: A concise, one-sentence summary of the change.

Examples #

Here are some examples of commit messages:

  • INNO-34 :green_heart: add support for async/await

Design System Guidelines #

1. Classes:

  • Use UpperCamelCase (also known as PascalCase).
  • Classes should be named after what they represent. For example, if you have a class that represents a user profile, you might name it UserProfile.
  • Avoid using abbreviations unless they are widely accepted (like Http for HTTP).

2. Files:

  • Use snake_case for file names. For example, user_profile.dart.
  • For Dart files that contain a single class, it’s common to match the file name to the class name but in snake_case.
  • Name files so that they easily hint at their contents. For instance, if you have utilities related to network operations, you might have a network_utils.dart.

3. Folders:

  • Use snake_case for folder names.
  • Organize your project in a modular fashion. Instead of having a single folder for all models or views, consider grouping related files together. For example:
/users
/models
user_model.dart
/views
user_profile_view.dart
user_list_view.dart
/controllers
user_controller.dart
  • For shared components that can be used across different parts of your app, consider creating a shared or common folder.
  • For constants, utilities, and other shared logic, you can use folders named constants, utils, or helpers.

4. Special Types of Files:

  • For widgets, consider suffixing with Widget. For example, ProfileCardWidget.
  • For models, consider suffixing with Model. For example, UserModel.
  • For controllers, consider suffixing with Controller. For example, UserController.

5. Extensions and Packages:

  • When creating package-like structures or extensions inside your project, you might use a folder structure similar to how Dart packages are organized with lib and src subdirectories. This can be useful for larger projects.

6. Private Files and Members:

  • In Dart, if you want something to be private to its library, you can start its name with an underscore (_). This can apply to file names as well. For instance, _private_helper.dart.

7. Consistency:

  • Perhaps the most important rule is to be consistent. Choose a naming convention and folder structure and stick to it throughout your project.
4
likes
50
points
45
downloads

Publisher

unverified uploader

Weekly Downloads

Design system's documentation for detailed guidelines on customization options, accessibility considerations, and best practices for creating a consistent and user-friendly experience.

Homepage
Repository (GitHub)

License

MIT (license)

Dependencies

carousel_slider, flutter, flutter_breadcrumb, flutter_svg, lottie, sleek_circular_slider, smooth_page_indicator, version

More

Packages that depend on true_design_system_component