{"id":23143982,"url":"https://github.com/arata1202/flutterblogapp","last_synced_at":"2026-04-20T19:02:39.438Z","repository":{"id":249803098,"uuid":"832489451","full_name":"Arata1202/FlutterBlogApp","owner":"Arata1202","description":"モバイル版「リアル大学生」。App StoreとGoogle Playで公開中。クローズ予定。","archived":false,"fork":false,"pushed_at":"2025-01-27T12:47:17.000Z","size":3845,"stargazers_count":1,"open_issues_count":1,"forks_count":0,"subscribers_count":1,"default_branch":"master","last_synced_at":"2025-04-04T12:15:27.785Z","etag":null,"topics":["admob","firebase","flutter","onesignal"],"latest_commit_sha":null,"homepage":"","language":"Dart","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/Arata1202.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2024-07-23T06:11:33.000Z","updated_at":"2025-02-24T04:47:46.000Z","dependencies_parsed_at":"2024-08-14T12:57:35.730Z","dependency_job_id":"b871faed-cc1a-49fb-a0a1-fdd88e425f3e","html_url":"https://github.com/Arata1202/FlutterBlogApp","commit_stats":null,"previous_names":["arata1202/flutterblogapp"],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/Arata1202/FlutterBlogApp","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Arata1202%2FFlutterBlogApp","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Arata1202%2FFlutterBlogApp/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Arata1202%2FFlutterBlogApp/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Arata1202%2FFlutterBlogApp/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/Arata1202","download_url":"https://codeload.github.com/Arata1202/FlutterBlogApp/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Arata1202%2FFlutterBlogApp/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":32061251,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-04-20T11:35:06.609Z","status":"ssl_error","status_checked_at":"2026-04-20T11:34:48.899Z","response_time":94,"last_error":"SSL_connect returned=1 errno=0 peeraddr=140.82.121.6:443 state=error: unexpected eof while reading","robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":false,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["admob","firebase","flutter","onesignal"],"created_at":"2024-12-17T15:14:36.745Z","updated_at":"2026-04-20T19:02:39.424Z","avatar_url":"https://github.com/Arata1202.png","language":"Dart","funding_links":[],"categories":[],"sub_categories":[],"readme":"\u003cdiv id=\"top\"\u003e\u003c/div\u003e\n\n\u003cdiv align=\"right\"\u003e\n  \n![GitHub License](https://img.shields.io/github/license/Arata1202/FlutterBlogApp)\n\n\u003c/div\u003e\n\n![title](/.docs/readme/images/title.png)\n\n## 目次\n\n- [リアル大学生：モバイル](#top)\n  - [目次](#目次)\n  - [リンク一覧](#リンク一覧)\n  - [主な機能一覧](#主な機能一覧)\n  - [使用技術](#使用技術)\n  - [環境構築](#環境構築)\n    - [リポジトリのクローン](#リポジトリのクローン)\n    - [Flutter プロジェクトの起動](#Flutterプロジェクトの起動)\n  - [ディレクトリ構成](#ディレクトリ構成)\n  - [Git の運用](#Gitの運用)\n    - [ブランチ](#ブランチ)\n    - [コミットメッセージの記法](#コミットメッセージの記法)\n\n## リンク一覧\n\n\u003cul\u003e\u003cli\u003e\u003ca href=\"/.docs/store/images/AppStore.png\"\u003eApp Store（スクリーンショット）\u003c/a\u003e\u003c/li\u003e\u003c/ul\u003e\n\u003cul\u003e\u003cli\u003e\u003ca href=\"/.docs/store/images/GooglePlay.png\"\u003eGoogle Play（スクリーンショット）\u003c/a\u003e\u003c/li\u003e\u003c/ul\u003e\n\u003cul\u003e\u003cli\u003e\u003ca href=\"https://www.figma.com/design/8abXv3H0UaRwCjkyy8lecU/%E3%82%B9%E3%82%AF%E3%83%AA%E3%83%BC%E3%83%B3%E3%82%B7%E3%83%A7%E3%83%83%E3%83%88?node-id=0-1\u0026t=RxhblDmbNSeXsEgf-1\"\u003eFigma\u003c/a\u003e\u003c/li\u003e\u003c/ul\u003e\n\n\u003cp align=\"right\"\u003e(\u003ca href=\"#top\"\u003eトップへ\u003c/a\u003e)\u003c/p\u003e\n\n## 主な機能一覧\n\n※製品版では Google AdMob による広告が表示されます。\n\n| 記事一覧ページ                                           | 　検索ページ                                               |\n| -------------------------------------------------------- | ---------------------------------------------------------- |\n| ![1](/.docs/readme/images/1.png)                         | ![2](/.docs/readme/images/2.png)                           |\n| 最新記事やカテゴリーごとの記事を一覧表示するページです。 | キーワードやタグ、アーカイブから検索をすることができます。 |\n\n| 記事ページ                                                                         | 　メニューページ                                                                   |\n| ---------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------- |\n| ![3](/.docs/readme/images/3.png)                                                   | ![4](/.docs/readme/images/4-2.png)                                                 |\n| 記事を閲覧するためのページです。ネイティブなシェアボタンから記事をシェアできます。 | 設定項目や固定ページ（プロフィールや免責事項など）へのリンクなどを記載しています。 |\n\n| 強制アップデート                                                                                           | 　プッシュ通知                                                                                         |\n| ---------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------ |\n| ![5](/.docs/readme/images/5.png)                                                                           | ![6](/.docs/readme/images/6.png)                                                                       |\n| Firebase の Remote Config を利用して、指定のバージョンより古い場合にダイアログを表示させることができます。 | OneSignal と Pipedream（Web Hook）を利用して、初回の記事公開時にプッシュ通知を送信することができます。 |\n\n| iOS UI                                                                | 　 Android UI                                                        |\n| --------------------------------------------------------------------- | -------------------------------------------------------------------- |\n| ![4](/.docs/readme/images/4-2.png)                                    | ![7](/.docs/readme/images/7-2.png)                                   |\n| Cupertino UI を使用して、ネイティブに寄せたデザインを再現しています。 | Material UI を使用して、ネイティブに寄せたデザインを再現しています。 |\n\n\u003cp align=\"right\"\u003e(\u003ca href=\"#top\"\u003eトップへ\u003c/a\u003e)\u003c/p\u003e\n\n## 使用技術\n\n| Category | Technology Stack                            |\n| -------- | ------------------------------------------- |\n| Frontend | Flutter                                     |\n| Backend  | Firebase                                    |\n| Design   | Figma, Canva                                |\n| Google   | AdMob, Analytics                            |\n| etc.     | OneSignal, Pipedream, XCode, Android Studio |\n\n\u003cp align=\"right\"\u003e(\u003ca href=\"#top\"\u003eトップへ\u003c/a\u003e)\u003c/p\u003e\n\n## 環境構築\n\n### リポジトリのクローン\n\n```\n# リポジトリのクローン\ngit clone git@github.com:Arata1202/FlutterBlogApp.git\ncd FlutterBlogApp\n\n# .env.exampleから.envを作成\nmv .env.example .env\n\n# .envの編集\nvi .env\n\n# Firebaseから必要なファイルを入手\nmv GoogleService-Info.plist /ios/Runner\nmv google-services.json /android/app\n```\n\n### Flutter プロジェクトの起動\n\n```\n# 依存関係のインストール\nflutter pub get\n\n# CocoaPodsのインストール\ncd ios \u0026\u0026 pod install \u0026\u0026 cd ..\n\n# Flutterプロジェクトの起動\nflutter run\n```\n\n\u003cp align=\"right\"\u003e(\u003ca href=\"#top\"\u003eトップへ\u003c/a\u003e)\u003c/p\u003e\n\n## ディレクトリ構成\n\n```\n❯ tree -a -I \"node_modules|.next|.git|.pytest_cache|static\" -L 2 lib\nlib\n├── app\n│   ├── article\n│   ├── home\n│   ├── menu\n│   ├── pagination\n│   ├── search\n│   └── search_result\n├── common\n│   └── admob\n├── components\n│   └── menu\n├── layout\n│   ├── footer\n│   ├── main\n│   └── splash\n├── main.dart\n└── util\n    └── navigate_out\n```\n\n\u003cp align=\"right\"\u003e(\u003ca href=\"#top\"\u003eトップへ\u003c/a\u003e)\u003c/p\u003e\n\n## Git の運用\n\n### ブランチ\n\nGitHub Flow を使用する。\nmaster と feature ブランチで運用する。\n\n| ブランチ名 |   役割   | 派生元 | マージ先 |\n| :--------: | :------: | :----: | :------: |\n|   master   | 本番環境 |   -    |    -     |\n| feature/\\* | 機能開発 | master |  master  |\n\n### コミットメッセージの記法\n\n```\nfix: バグ修正\nfeat: 新機能追加\nupdate: 機能更新\nchange: 仕様変更\nperf: パフォーマンス改善\nrefactor: コードのリファクタリング\ndocs: ドキュメントのみの変更\nstyle: コードのフォーマットに関する変更\ntest: テストコードの変更\nrevert: 変更の取り消し\nchore: その他の変更\n```\n\n\u003cp align=\"right\"\u003e(\u003ca href=\"#top\"\u003eトップへ\u003c/a\u003e)\u003c/p\u003e\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Farata1202%2Fflutterblogapp","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Farata1202%2Fflutterblogapp","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Farata1202%2Fflutterblogapp/lists"}