Skip to content

rain9155/flutter_github_app

Repository files navigation

flutter_github_app

一个基于BLOC设计模式的flutter版本的github客户端,整体UI风格参考官方版本的github客户端,适合想要入门学习flutter的伙伴,欢迎大家start、fork。

Features

  • 使用flutter_bloc实现BLOC
  • 基于Device Flow的登陆方式
  • 支持语言、主题的切换
  • 实现了搜索、通知、个人、仓库等基本功能
  • ...

Tips

  • 本人能力有限,如果遇到问题,欢迎issue

  • 要clone运行本项目,要提前搭建好flutter运行环境,flutter版本>=3.19.0

  • 项目中所使用的api均由github REST API提供,使用github api需要用到client id,它是你在你的github账号上注册OAuth App后提供给你的,目前的client id是用我自己的账号注册生成,如果你有其他商业用途例如独立发布Github应用,请自己单独注册,然后把lib/configs/env.dart文件中的CLIENT_ID的值替换成你注册生成的client id,本项目只供学习使用,不作其他用途

Preview

github1 github2

ScreenShots

Download

android:点击下载apk

ios:由于没有ios开发者账号,无法提供ios包,如果你是ios开发者,可自行clone项目参考ios发布进行打包或者本地构建通过ios模拟器运行

Libraries

flutter_bloc - 基于BLOC设计模式来进行状态管理的库

dio - 支持拦截器,全局配置,FormData,请求取消,文件下载,超时等功能的dart http客户端

json_serializable - 包含json_serializable、json_anation、build_runner,用于在dart构建系统中自动化生成json序列化和反序列的模板代码

shared_preferences - 在特定平台持久化存储键值对的flutter插件,例如iOS和macOS上为NSUserDefaults,Android上为SharedPreferences

url_launcher - 在特定平台启动url的flutter插件

fluttertoast - 在特定平台弹出toast的flutter插件

webview_flutter - 在特定平台打开webview的flutter插件

flutter_html - 用于渲染HTML和CSS标签的flutter控件

flutter_markdown - 用于渲染markdown的flutter控件

package_info - 在特定平台查询package信息的flutter插件

share - 在特定平台通过分享对话框分享内容的flutter插件

sqflite - 在特定平台使用SQLite的flutter插件

TODO

  • 性能优化
  • issue、pullrequest、commit详情页控件化

Licensed

   Copyright 2021 rain9155

   Licensed under the Apache License, Version 2.0 (the "License");
   you may not use this file except in compliance with the License.
   You may obtain a copy of the License at

       http://www.apache.org/licenses/LICENSE-2.0

   Unless required by applicable law or agreed to in writing, software
   distributed under the License is distributed on an "AS IS" BASIS,
   WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
   See the License for the specific language governing permissions and
   limitations under the License.

About

:octocat: flutter版本的github客户端,支持android和ios

Topics

Resources

License

Stars

Watchers

Forks

Packages

No packages published

Languages