Project file 2024
已上线
微北洋
天津大学校园应用,由天外天工作室开发
FlutterDartAndroidiOS
Selected work / Jarvis Hub 项目背景
微北洋是天津大学天外天工作室移动组长期维护的校园综合服务 App,面向全体师生,聚合“课表查询、自习室、校园公告、GPA 查询、失物招领、地图校历、北洋 Wiki、青年湖底(论坛)、小天 AI、考试信息(迭代中)”等功能。应用以“高并发场景稳定、信息整合一致、易用的移动端交互”为核心目标,提供统一入口与模块化扩展能力。
安装与分发
- 正式版:校内官网分发,保证渠道安全与依赖环境一致。
- 预览版:CI 构建产物通过 GitHub Actions Artifact 提供下载,便于测试与灰度验证。
技术架构
- 跨平台:
Flutter+Dart,统一 UI 体系与组件复用,提升开发与维护效率。 - 模块划分:按照业务垂直模块与基础框架分层组织,基础能力集中于
commons。 - 入口:
main.dart负责初始化与启动流程,拉起框架与必要依赖。 - 网络与缓存:统一网络请求封装、设备关联设置与本地缓存策略在
commons中提供,业务模块按需调用。
主要模块
auth:注册、登录绑定、个人信息与设置页,含头像框等个性化能力。commons:页面外观规范、字体与颜色、弹窗与提示、设备设置、缓存与网络适配等应用内框架能力。home:主页聚合入口与活动弹窗,快速到达各功能。schedule:课程表与考试信息展示,支持小窗视图与夜间模式。studyroom:自习室信息查询与状态反馈,配合校内资源数据源。gpa:成绩与 GPA 可视化,包括曲线与饼图展示,便于长期趋势观察。message:消息列表与一键已读,统一通知体验。feedback:请求回显与问题反馈通道,支撑用户体验闭环。wiki、map_calendar、lost_and_found、lake、xiaotian等:分别对应北洋 Wiki、地图校历、失物招领、论坛与 AI 助手等入口能力。
应用内框架与依赖
- 依赖聚合:跨模块通用依赖集中于
commons,通过api方式暴露供其他模块使用,减少重复引入与版本分歧。 - 框架收敛:统一路由、主题、网络、缓存、日志等基础设施,确保体验一致性与可维护性。
- 模型与视图:按
model / view / page / util / network / extension分类组织代码;模型定义结构与行为,视图与页面负责展示与交互,工具与网络提供通用能力。
体验与交互
- 课表:支持周视图与课程细节查看,夜间模式与考试时间展示增强可读性。
- 地图校历:结合校内地图与学期日历,便于路径与时间安排。
- 学业:GPA 图形化展示与历史趋势观察,帮助自我评估。
- 资源:自习室余量状态清晰反馈,降低到场落空情况。
- 消息:统一消息收敛与已读处理,减少信息冗余。
质量与发布
- CI:预览通道通过 GitHub Actions 自动构建与产物分发,保障每次改动可测试可回滚。
- 版本:维持迭代版本发布节奏与更新记录,确保用户与开发侧同步认知。
- 规范:遵循统一的命名与依赖规范、Git 提交流程,降低协作成本。
设计与维护要点
- 信息聚合:将校内多源数据与能力统一在移动端入口,重视一致性与可达性。
- 模块解耦:业务模块相互独立,通过
commons提供的框架能力协作,便于快速迭代与灰度。 - 用户体验:强调可视化与简化操作路径,确保高峰时段下的流畅体验。
展望
- 学业模块与校务系统进一步打通,提升数据实时性与准确性。
- 论坛与 AI 能力结合,探索基于上下文的校园服务问答与指引。
- 更多校内资源的聚合与通知渠道优化,减少信息鸿沟。