- アプリ :
https://oneday-app.com/- 料金の都合上、 停止しています。
- Zenn : https://zenn.dev/kaito_o/articles/9071d09e1454ba
- 1 人で楽しめるスポットを登録して、評価やおすすめポイントなどを共有することができます。
- 他の人の投稿にコメントやいいねができ、おすすめスポットを通して交流することができます。
私自身が地元を離れて暮らしており、休日に 1 人で過ごすという経験が多くありました。
休日に観光スポットに行ってみたり、ふらっと目的を決めず外出をしてみたりという経験から 1 人でも楽しめるスポットがあることに気づきました。
そのような経験から 1 人でも楽しめるスポットを共有できたり、他の人のおすすめスポットを知ることができるアプリがあればと思い作成しました。
今回のアプリ作成では以下のターゲットをイメージしました。
- 地元を離れて暮らし始めた人
- 友人は多くないが出かけるのが好きな人
- 1 人で出かけるのが好きな人
項目 | 内容 |
---|---|
フロントエンド | HTML/Sass/JavaScript |
バックエンド | Ruby(バージョン 2.7.3) |
フレームワーク | Ruby on Rails(バージョン 6.1.7) |
インフラ | AWS |
データベース | PostgreSQL |
コード管理 | GitHub |
コード解析 | RuboCop |
テストツール | RSpec |
gem | device/devise-i18n/rails-i18n/carrierwave/mini_magick/kaminari/ransack など |
API | Google Maps API |
コードエディター | Visual Studio Code |
作図ツール | draw.io(画面遷移図、ER 図) |
項目 | 内容 |
---|---|
ログイン関連 | ログイン、ログアウト、ゲストログイン |
ユーザー関連 | 登録、編集、削除 |
おすすめスポット関連 | 登録、編集、削除 |
検索 | タイトル、シチュエーション、エリアで部分一致検索 |
コメント | 投稿にコメントができる、削除は自分のコメントのみ可能 |
いいね | 投稿にいいねができる |
マイページ | アカウント編集と削除、投稿一覧と投稿の編集、削除 |
タイトル、シチュエーション、エリアでおすすめスポットを検索することができます。 検索は部分一致検索で行います。
おすすめスポットについてのおすすめポイントや評価、地図を確認することができます。 気になった投稿にはいいねやコメントを投稿することも可能です。
アカウント情報の編集やアカウントの削除が行えます。 投稿一覧では投稿の編集、削除が行えます。
トップページにゲストログインボタンを設置し、アカウント登録を行わなくてもアプリを使用できるようにしました。
ゲストアカウントではアカウント削除ができないように設定し、その他の機能は基本的に使用できるようになっています。
Google Maps API を導入しおすすめスポットの地図を表示できるように設定しました。
ユーザーはどんな場所におすすめスポットがあるのかイメージができるので、ユーザーはよりよい体験ができるようになっています。
実務での開発を想定して Git, GitHub を用いたコード管理を行いました。
commit メッセージは他の人が見てもわかるようにコメントを行い、実装する機能に応じてfeature/xxx_xxx
の形式でブランチを切るようにしました。
また、コメントを追加することでどのような実装をしているのかを明確にし、他の人が作業をする場合でもわかりやすいように実施しました。
commit
前に必ずコード解析を行い、不備があれば修正してリモートブランチに反映していました。
チーム開発ではルールを決めて実装を行うことが必須だと思うので、自分の中でもルール決めを行い開発をしていました。
いいねボタンをクリックした際にページ全体をリロードせず、いいねボタンのみ変更することで非同期処理を行っています。
正常系だけでなく、異常系のテストも実装することで開発時のコードに問題がないかを担保できるようにしています。
実装内容の洗い出しなどをすることで、ユーザーがどのような操作を行うかやどのような条件を満たす必要があるのかなども整理しながら開発を実施しました。