SnapFolio は、Flutter で構築された視覚的に豊かな連絡先管理アプリケーションです。 単なるテキストリストを超え、ユーザーの画面幅に動的に適応する独自のレスポンシブな写真プレビューシステムを備えており、ギャラリーファーストの体験を提供します。
| Login | Main List | Add |
|---|---|---|
![]() |
![]() |
![]() |
| Detail | Add Pictures |
|---|---|
![]() |
![]() |
- レスポンシブな写真プレビュー
LayoutBuilderを使用して、利用可能なデバイス幅に基づいて表示する最適な写真サムネイル数を数学的に計算します。- より多くの写真が存在する場合、最後の表示スロットに賢く
+Nオーバーレイを表示します。
- アダプティブUIレイアウト
- テキストの長さに関係なくレイアウトの破損を防ぐために、防御的なコーディング (
TextOverflow、maxLines) を実装しました。 IntrinsicHeightとAspectRatioを使用して、一貫したカード比率を維持します。
- テキストの長さに関係なくレイアウトの破損を防ぐために、防御的なコーディング (
- 詳細ギャラリー
- 詳細なプロフィールビューへのシームレスなナビゲーション。
- 連絡先の写真コレクション全体を閲覧するためのフル機能のスクロール可能な
GridView。
- フレームワーク: Flutter
- 言語: Dart
- 状態管理: (予定: Riverpod/Provider)
- バックエンド (予定): Firebase (Auth, Firestore, Storage)
SnapFolio is a visually rich contact management application built with Flutter. Moving beyond simple text lists, it features a unique responsive photo preview system that dynamically adapts to the user's screen width, offering a gallery-first experience.
| List View (Responsive) | Detail View (Gallery) |
|---|---|
![]() |
![]() |
Please add screenshots to the
assets/screenshots/directory and update the paths above.
- Responsive Photo Preview
- Utilizes
LayoutBuilderto mathematically calculate the optimal number of photo thumbnails to display based on the available device width. - Intelligently displays a
+Noverlay on the last visible slot if more photos exist.
- Utilizes
- Adaptive UI Layout
- Implemented defensive coding (
TextOverflow,maxLines) to prevent layout breakage regardless of text length. - Maintains consistent card ratios using
IntrinsicHeightandAspectRatio.
- Implemented defensive coding (
- Detail Gallery
- Seamless navigation to a detailed profile view.
- Full-feature scrollable
GridViewto browse the entire photo collection of a contact.
- Framework: Flutter
- Language: Dart
- State Management: (Planned: Riverpod/Provider)
- Backend (Planned): Firebase (Auth, Firestore, Storage)
Follow these steps to run the project locally.
- Ensure you have the Flutter SDK installed. (Installation Guide)
- Clone the repository
git clone [https://github.com/IAmRickyChoi/SnapFolio.git](https://github.com/IAmRickyChoi/SnapFolio.git)
- Install dependencies
flutter pub get
- Run the app
flutter run
Distributed under the MIT License. See the LICENSE file for more information.
Ricky Choi
- GitHub: @IAmRickyChoi
- Zenn: @0570yh






