フリマ比較サイトの製作を開始(要件定義)

f:id:ryoutaku_jo:20190224190055p:plain

【結論】
・複数のフリマサイトに出品されている
 商品の金額などをスクレイピング して比較できるサイトを製作することにした

・チーム開発で実装を見送った機能や、
 興味のある技術も積極的に取り入れる予定


【目次】


【本題】

自主制作のアプリ開発に移行

スクールのチーム開発が終わったので、
新たに個人制作のアプリ開発に移行しました。

チーム開発に入る前は、Qiitaのコピーサイトを作成しようと思っていましたが、
他に作ってみたいと思ったものが出たので、そちらを着手します。

アプリ概要

複数のフリマサイトから商品情報をスクレイピングし、
価格比較を行えるサイト。

※ メルカリ・ラクマヤフオク

開発理由

チーム開発でメルカリを制作する中で、他のフリマサイトなども見ていましたが、
どっちのサイトの方が、安くて状態の良い商品があるのか
探すのが面倒だと感じていたのと、直近でお話ししたエンジニアの方から
クローラーの話を聞いて、単純に面白そうと感じたのが理由です。

また、Dockerなどのモダンな技術や、アプリのHTTPS化など
チーム開発で試せなかった機能の実装に挑戦してみたかったからです。

機能要件

スクレイピング機能
・商品検索機能
 キーワード検索(あいまい検索)
 カテゴリ検索
 ヒットした商品の一覧表示
 お気に入り数・新着順でソート
 ページネーション機能
・商品詳細表示機能
 どのサイトの商品でも共通のレイアウト
 類似商品の一覧表示
・ユーザー新規登録/ログイン
・商品のお気に入り登録
 お気に入りの一覧表示

非機能要件

CSSフレームワークはBootsrapを使用
常時SSL化
・Dockerの導入
・circleCIで自動テスト
・CIツールからAWSへ自動デプロイ
・reCAPTCHA v3の導入
単体テスト機能の実装
・統合テスト機能の実装
・gitの操作がCUIベースで行う

課題

・各サイトに負荷を掛けないスクレイピング手法を調査
・類似商品を取得するロジック
・アプリのHTTPS化の方法
・Dockerの導入方法

今後の流れ

0:タスク整理
1:スクレイピングについて調査
2:Dockerの導入方法を調査
3:circleCIで自動テストの方法を調査
4:アプリの雛形を作成し、本番環境へデプロイ
5:DB設計(ER図作成)
6:スクレイピング機能の実装

《今日の学習進捗》

就活と個人アプリ制作

学習開始からの期間 :79日
今日までの合計時間:799h
一日あたりの平均学習時間:10.2h
今日までに到達すべき目標時間:721h
目標との解離:78h
「10,000時間」まで、

残り・・・「9201時間!」