開発日記12日目:システムアーキテクチャ設計完了!Gunma Naviの全体像が見えてきました!🏗️✨
群馬県民がもっと地元イベントを楽しめるように!イベント発見アプリ「Gunma Navi」を個人開発している🐮です!
🎮 今日達成した"ゲームで言うと"
「世界地図を手に入れて、これから冒険の計画を立て始めた状態」🗺️🧭
🌟 今日のハイライト
✅ アプリケーション全体のシステムアーキテクチャを設計!
✅ フロントエンドとバックエンドの連携方法を決定!
✅ データの流れを明確化!
🛠 今日の作業内容
-
アプリケーション全体の基本的なシステムアーキテクチャを設計
昨日までにデータベース設計が完了したので、今日はアプリ全体のシステムアーキテクチャを設計しました。
-
技術スタックの再確認
-
フロントエンド:ユーザーが直接触れる部分なので、React Nativeを使ってクロスプラットフォーム対応のモバイルアプリを開発します。
-
バックエンド:データの処理と提供を担う部分は、Node.jsとExpressでAPIサーバーを構築します。
-
データベース:非構造化データに柔軟なMongoDBを採用します。
-
-
モジュールとコンポーネントの整理
-
フロントエンドとバックエンドそれぞれで、機能ごとにモジュール化を進めます。
-
認証、イベント管理、コメント機能などの主要コンポーネントを定義しました。
-
-
システム全体像の図示
- システムアーキテクチャ図を作成し、各コンポーネントの関係性やデータの流れを視覚化しました。
-
-
フロントエンドとバックエンドの連携方法やデータの流れを設計
-
APIエンドポイントの設計
-
ユーザー認証関連:
/api/users/login
,/api/users/register
-
イベント取得関連:
/api/events
,/api/events/:id
-
コメント投稿関連:
/api/comments
,/api/events/:id/comments
-
-
データのリクエストとレスポンス形式
- JSON形式を採用し、フロントエンドとバックエンド間のデータ通信を統一しました。
-
認証・認可の方法
-
**JWT(JSON Web Token)**によるトークン認証を採用し、セキュアなAPIアクセスを実現。
-
ユーザー情報の保護と、不正アクセス防止に配慮しました。
-
-
🔍 システムアーキテクチャ設計のポイント
-
拡張性のある設計
-
将来的な機能追加を見据え、モジュール化と疎結合を意識。
-
フロントエンドではコンポーネントを再利用しやすいように設計。
-
-
効率的なデータ通信
-
必要最低限のデータをやり取りし、通信量を削減。
-
RESTful APIの原則に従い、シンプルで理解しやすいAPI設計。
-
-
セキュリティへの配慮
-
HTTPS通信とJWTによる認証で、データの安全性を確保。
-
ユーザー情報やパスワードは暗号化して保存。
-
🗾 群馬愛ある開発のこだわり
「地元のイベント情報を素早く入手できるよう、オフラインでも閲覧可能な設計を検討中!
電波状況が不安定な地域でも、群馬の魅力を存分に楽しんでもらいたいです📱✨」
💬 読者のみなさんに質問!
「アプリを使う上で、データの反映速度やレスポンスの速さはどれくらい重要だと思いますか?
皆さんが快適に使えるよう、ぜひご意見をお聞かせください!😊」
💡 今日の気づきと学び
成功した点
-
全体像の可視化
- システムアーキテクチャを図にすることで、今後の開発がスムーズになりそうです。
-
連携方法の明確化
- フロントエンドとバックエンドの役割分担と通信方法を詳細に決めたので、実装時の迷いが減りそうです。
改善が必要な点
-
APIの詳細設計
- エラーハンドリングやステータスコードの統一など、さらに細かい部分を詰める必要があります。
-
セキュリティ強化
- 認証・認可の仕組みをもう少し深掘りして、安全性を高める必要があります。
🚀 次回予告:イベント情報の表示機能を実装!
-
イベント一覧画面のUIを作成し、見やすく使いやすいデザインを目指します。
-
バックエンドからイベントデータを取得する処理を実装!
-
いよいよアプリが動き始めます!楽しみです!🔥
✨ 今日のひとこと
アプリの全体像がはっきりしてきて、開発がますます楽しくなってきました!
頭の中で描いていたアイデアが形になり始める瞬間は、本当にワクワクしますね。
引き続き、群馬の皆さんに喜んでもらえるアプリを目指して頑張ります!💪
最後までお読みいただきありがとうございます!
皆さんの応援やフィードバックが本当に励みになります。
コメントやいいね、お待ちしています!😊
明日も引き続き頑張りますので、よろしくお願いします!では、また明日〜!👋