Nittfest-Client

NITTFEST的客户端应用程序。

Flutter

要求

  • Java版本 – ‘12.x’
  • Flutter版本 – ‘2.8.x’
  • Dart版本 – ‘2.12’ 或更高版本
  • Android Studio

设置

  • Fork并克隆仓库
    git clone <YOUR_FORK_URL>
    
  • 添加远程上游
    git remote add upstream <MAIN_REPO_URL>
    
  • 获取pubspec中列出的所有依赖项
    flutter pub get
    
  • 运行应用程序
    flutter run 
    

架构

使用GetX的MVC架构

  • Model 指所有数据及其相关逻辑。
  • View 将数据呈现给用户或处理用户交互
    • 使用GetView/GetResponsiveView实现
    • GetView是一个常量statelessWidget,通常与GetXController关联
    • GetResponsiveView是一个屏幕宽度依赖的小部件,与GetXController关联,用于响应式UI设计。
  • Controller 指Model和View组件之间的接口
    • 使用GetXController实现。
    • 包含3个生命周期。
      • onInit() : 在控制器内存分配时调用
      • onReady() : 在UI小部件出现在屏幕上时调用
      • onClose() : 在控制器从内存中删除之前调用

GithubActions

工作流

  • on: [pull_request, push] to main: 当有人推送或进行pull request到main分支时,此工作流将运行。
  • 在步骤中我们正在
    • 如果 pull_request
      • 运行格式化程序
      • 运行分析器
    • 如果 push
      • 构建Web应用程序。
      • 使用Firebase hosting部署更改。
      • 访问 nittfest网站

GitHooks

配置git-hooks路径

  • 运行以下命令
    git config core.hooksPath .githooks
    

功能

  • pre-commit

    • 运行格式化程序
    • 运行分析器
  • pre-push

    • 检查未提交的文件
    • 运行测试用例

为Nittfest-Client做贡献

以下是我们希望您遵循的指南


注意

切勿直接推送到主仓库(upstream)。仅推送到您fork的仓库(origin)并向
主仓库发送pull request


编码规则

为了确保整个源代码的一致性,在工作时请牢记这些规则

  • 要遵循的编码风格以及使用flutter_lint的说明
  • 启用sound-null-safety

Git提交指南

提交消息格式

每条提交消息都包含一个header、一个body和一个footer。header具有特殊
格式,包括一个type、一个scope和一个subject

<type>(<scope>): <subject>
<BLANK LINE>
<body>
<BLANK LINE>
<footer>

提交消息的任何行都不能超过100个字符!这使得消息在github上更容易阅读
以及在各种git工具中。

示例提交消息

feat(MainPage): Implement rive animations to MainPage

In this PR,
* rive assets are added.
* rive animations are handled in getx controller

请遵循此处的约定。

另外,请参考此页面了解如何编写body

GitHub

查看 Github