Giter VIP home page Giter VIP logo

gethub's Introduction

Hi there 👋

gethub's People

Contributors

icoriha avatar

Watchers

 avatar

gethub's Issues

画面回転

アプリの画面回転についての設定をする。

Makefile作成

プロジェクト単位でのコマンド入力の簡易化のため、Makefileを作成。

環境分け

開発環境(dev)と本番環境(prod)に分ける。
それに応じてアプリ名、パッケージ名/バンドルIDを出し分ける。

iOSでお試しビルド

iOS Simulatorでアプリをデバッグビルドし、
生成されるファイルをgitの管理下に置く。

検索ページを作成

検索ページを作成する。

  • 検索用のTextField
  • 検索ボタン
  • 検索結果を表示するListView

ViewModel(#17)とまとめて、create-presentationブランチで作成する。

モデル作成

要件を満たすのに必要となるモデルを作成する。
モデルは基本的にはfreezedを用いて作成する。
プリミティブ型をラップしただけのような単純な値としてのモデルにはequatableを用いる。

ページネーションの実装

一度の検索上限である100件を超える検索結果がある場合、
既存のコードではそれ以上リポジトリを取得できない。
ページネーションを実装し、100件を超える結果も順番に取得できるようにする。

ダークモード対応

選択したモードは永続化の対象にする。
永続化にはSharedPreferencesを用いる。

isEmptyの代わりにisBlanckを使う

isEmptyは「 」のような複数のスペースのみで構成された文字列は空と見なしてくれない。
quiverパッケージのisBlank関数は複数スペースのみで構成された文字列のも空と見なしてくれるため、
これをisEmptyの代わりに検索バーのバリデーションなどの空文字チェックに活用する。

ページネーションで異なる検索ワードの結果を後から継ぎ足せてしまう

ページネーション用の検索メソッドがその瞬間の検索フィールドの文字列を参照しているために、
キーワードAで検索した後に検索フィールドの文字をキーワードBに書き換えると、
ページネーションによってキーワードAの検索結果の後にキーワードBの検索結果が継ぎ足されてしまう。

例: キーワードAが「Flutter」キーワードBが「SwiftUI」の場合

元の検索結果 継ぎ足された検索結果
res_flutter res_flutter_swiftiu

パッケージ導入

作業を開始するのに必要となるパッケージ、および将来的な使用が見込まれるパッケージを導入する。
以降追加でパッケージが必要になる場合は各機能ごとの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

UIを整える

美しく使いやすいUIを目指す
ただしマテリアルデザインに準拠すること

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo 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.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.