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网站
- 如果 pull_request
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
