Misha434 / smar-003

スマートフォン比較アプリです。機種名・各性能はフィクションです。
https://www.smar-003.xyz
1 stars 0 forks source link

logo_with_margin

スマホ比較アプリ

service_summary_image_210906

目次

プロジェクトの概要説明

スマホを買い換える時に、「バッテリーの持ちがいい」、「サクサク動くものにしたい」自分の望む視点でスマホを直感的に調べるサイトがあればいいなと思い作成しました。

実装機能 一覧

機能 概要
[ ]内は管理者のみ
単体/ 統合テスト
製品 項目別ランキング バッテリー容量, Antutu(SoC性能), 口コミ評価平均値 等の上位順にランキング表示 - / ○
製品検索機能 製品一覧から製品名で検索 - / ○
製品比較機能 製品同士の性能を表で比較 - / ○(異常系 WIP)
製品情報表示 スペック詳細情報確認・いいね&口コミ数表示
[ 製品登録・登録内容変更・削除 ]
○ / ○
ブランド ブランドごとの製品一覧表示機能
[ ブランド登録・登録内容変更・削除 ]
○ / ○
CSV インポート機能 [ CSV形式のファイルからブランドを一括登録 ] WIP
ユーザー登録・ログイン機能 ユーザー登録・登録内容変更・ログイン・削除 ○ / ○
口コミ投稿機能 製品ごとの口コミ投稿・投稿内容変更・削除 ○ / ○
口コミいいね機能 口コミにいいね(Ajax) ○ / ○
レスポンシブ対応 - - / ○
(ユーザー詳細)

サービスのスクリーンショット画像 or デモGIF 動画

製品 性能別ランキング

sort_search_feature_210927

製品比較機能(Bookmark)

bookmark_feature_210927

口コミ投稿 / いいね 機能

使用言語、環境、テクノロジー

意識したポイント

フロントエンド

バックエンド

使用したgem

名称 備考
pagy ページネーション機能
ransack 検索機能
ActiveStorage ファイル(画像)アップロードツール
RSpec System Spec (統合テスト)
Model Spec (単体テスト)
rubocop 静的コード解析ツール
capistrano デプロイツール
slim テンプレートエンジン
Bullet N + 1 問題検出ツール

インフラ:AWS

名称 備考
EC2 App サーバー: Unicorn -
Web サーバー: Nginx -
RDS RDBMS: MySQL -
Route 53 DNSサービス -
S3 ストレージ機能 -
ELB (ALB) 負荷分散機能 -
Certificate Manager SSL証明書 サービス -

CI/CD:CircleCI

git push 等 実行時の挙動

branch アクション
local -> remote-branch push 自動テスト (RSpec, Rubocop)
remote-branch -> remote master merge 自動テスト (RSpec, Rubocop)
自動デプロイ(Capistrano)

開発環境

その他

インフラ使用技術 選定での背景

当初は Heroku へのデプロイでのリリースを検討していましたが以下の理由で AWS 導入することにしました。

ER図

ER_diagram_210927

システム構成図

Infrastracture_Diagram_20210906

使い方

インストール・開発環境下での実行方法

共通

$ git clone https://github.com/Misha434/smar-003.git
$ cd smar-003

Docker 環境

$ docker-compose up -d

Docker 未使用の場合

$ yarn install --check-file
$ bundle install --without production
$ rails db:create
$ rails db:migrate
$ rails db:seed

### unique varidation に引っかかった場合
$ rails db:migrate:reset
$ rails db:migrate:seed

### 開発環境のサーバー起動
$ foreman start

テスト方法

デプロイ方法

こだわり・苦戦したポイント

環境構築

レビュー投稿機能

今後の計画

追加予定機能