今日天气:一款使用 mobX 和 MetaWeather API 构建的天气应用程序

这是我用 Flutter 构建的第一个项目,我受到了 Flutter Modular 架构的启发来组织文件夹。

Weather Today app preview

该项目使用 MetaWeather API 来获取城市列表及其各自的天气数据,例如最低和最高温度、天气状况、日期、风速和风向。

安装项目

您可以通过下载此存储库中的 apk 文件 weather-today.apk 在您的 Android 手机上安装此应用程序。

应用概览

该应用程序非常简单,它是一个单页应用程序,带有一个搜索栏,主要有三种状态:用户未搜索任何内容时的第一个屏幕,显示从 API 获取的用户数据的​​主屏幕,以及在发生错误时的错误屏幕。

应用结构

此应用程序是 Udemy 上 Andrea Bizzotto 的 Dart 完全课程中构建的终端应用程序的扩展,但当我将其转换为 Flutter 应用程序时,我感受到了项目架构的必要性。因此,我选择基于 Flutter Modular 架构来构建我的项目,因为我觉得它易于理解且可扩展。

项目文件夹结构如下:

/lib
  /models
  /modules
    /search
      /repositories
      /results
  /theme

models 文件夹中,您可以找到为最佳表示 API 数据而创建的类。

Modules 是应用程序内的页面,由于它是一个单页应用程序,我们只有一个搜索模块。其中我们有 repository,负责从 API 获取数据。

此项目使用的包

鸣谢

此项目受到了 Andrea Bizzotto 在 Dart 完全课程中构建的应用程序的启发。
我必须感谢 Flutter Girls 的女孩们,她们在我遇到的所有问题中都给予我支持和帮助,你们是最棒的!

许可证:MIT

GitHub

查看 Github