flutter_food_lib 0.0.1
flutter_food_lib: ^0.0.1 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.
Tools #
- Visual Studio Code
- extension.json
{ "recommendations": [ "dart-code.dart-code", "dart-code.flutter", "esbenp.prettier-vscode"] }
- extension.json
- Install Homebrew (https://brew.sh/)
- Install Homebrew
/bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/HEAD/install.sh)"
- Install Flutter (3.13.2)
brew install flutter
- Install Cocoapods (1.12.1)
brew install cocoapods
- Install Homebrew
- 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
orcommon
folder. - For constants, utilities, and other shared logic, you can use folders named
constants
,utils
, orhelpers
.
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
andsrc
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.