gethub's Introduction
gethub's People
gethub's Issues
API通信部分作成
GitHub API(search/repositories)との通信部分を作成する。
通信の詳細はRepositoryパターンで隠蔽する。
検索バーとボタンのSliver化
検索バーと検索ボタンをSliver化する。
多言語対応
英語と日本語に対応させる。
画面回転
アプリの画面回転についての設定をする。
launch.json作成
Makefile作成
プロジェクト単位でのコマンド入力の簡易化のため、Makefileを作成。
オーナーアイコンを表示する
詳細画面ではオーナーアイコンを表示する
エラーハンドリング
リポジトリの取得情報が正しくない
watcher数とissue数が正しくない。
watcher数はstar数と同一の値になっている。
TODO記入時に警告が出ないようにする
READMEを充実させる
アーキテクチャやアピールしたい点などについて記載する。
環境分け
開発環境(dev)と本番環境(prod)に分ける。
それに応じてアプリ名、パッケージ名/バンドルIDを出し分ける。
settings.json作成
iOSでお試しビルド
iOS Simulatorでアプリをデバッグビルドし、
生成されるファイルをgitの管理下に置く。
検索ページを作成
ダークモード切り替え機能
デバイス依存だけではなくアプリ内で[ライト/ダーク/デバイス依存]を切り替えられるようにする
パッケージ名・バンドルID修正
Androidにおけるパッケージ名・バンドルIDに余分な文字列があったため修正する。
モデル作成
要件を満たすのに必要となるモデルを作成する。
モデルは基本的にはfreezedを用いて作成する。
プリミティブ型をラップしただけのような単純な値としてのモデルにはequatableを用いる。
詳細画面の作成
ページネーションの実装
一度の検索上限である100件を超える検索結果がある場合、
既存のコードではそれ以上リポジトリを取得できない。
ページネーションを実装し、100件を超える結果も順番に取得できるようにする。
ダークモード対応
選択したモードは永続化の対象にする。
永続化にはSharedPreferencesを用いる。
isEmptyの代わりにisBlanckを使う
isEmptyは「 」のような複数のスペースのみで構成された文字列は空と見なしてくれない。
quiverパッケージのisBlank関数は複数スペースのみで構成された文字列のも空と見なしてくれるため、
これをisEmptyの代わりに検索バーのバリデーションなどの空文字チェックに活用する。
ページネーションで異なる検索ワードの結果を後から継ぎ足せてしまう
未使用のパッケージをアンインスール
8月20日時点で未使用のパッケージを一旦アンインストールする。
ユニットテストの導入
アプリアイコンの設定
空文字で検索した場合はUIを初期状態に戻す
パッケージ導入
作業を開始するのに必要となるパッケージ、および将来的な使用が見込まれるパッケージを導入する。
以降追加でパッケージが必要になる場合は各機能ごとのissueで対応する。
For architecture
- flutter_riverpod
For model
- freezed
- freezed_annotation
- equatable
- json_serializable
For storage
- shared_preferences
For l10n
- flutter_localizations
- intl
For gen
- build_runner
検索ページのViewModelを作成
検索ページに対応するViewModelを作成する。
ViewModelとするクラスにはStateNotifierを継承させる。
UIを整える
美しく使いやすいUIを目指す
ただしマテリアルデザインに準拠すること
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.