オリアプのREADMEを書いてみた

##はじめに
転職活動に向けて作成したポートフォリオサイトに関して、なかなか他の人のオリアプのREADMEを見る機会はないと思い、Qiitaに投稿してみました。他にも書き方は色々あると思うので、一つの案として見てください。尚、いたずら防止のために、アプリのURLは載せていませんので、ご了承ください。

## アプリケーション名
__CYCLE NOTE__
## 開発環境
* フロントエンド：HTML&CSS / JavaScript / Bootstrap<br>
* バックエンド：Ruby / Ruby on Rails<br>
* 単体テスト・結合テスト：RSpec<br>
* インフラ：AWS（EC2 / S3）<br>
* テキストエディタ：Visual Studio Code

## ログイン方法
ヘッダー右側のゲストログインボタンから、ゲストユーザーとしてログインすることで、アプリを使用することができます
また、新規登録ボタンからユーザー登録してアプリを使用することもできます
<img src="https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/829213/78861ea5-2888-e129-6ea7-ef946e32fdec.png" width="900px" title="ゲストログイン"><br>
## アプリケーション概要
サイクリングの体験を投稿し、共有できるアプリです
アプリの主要機能は以下の通りです
#### 1. 記事の投稿
ヘッダーの新規投稿ボタンから記事投稿画面に移動します
タイトル、都道府県、走行距離、できごと、画像タイトル(任意)、画像(任意)を入力することで、記事の投稿ができます
<img width="50% title="記事の投稿" src="https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/829213/872e6b3f-1943-0669-108a-e26f6f2c0258.png">  <img width="48% title="記事の投稿" src="https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/829213/30a661f2-5115-3e74-a65c-08978a5a9255.png">
#### 2. 記事の表示
投稿した記事は、トップページに表示されます
<img src="https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/829213/3fed6f3c-4cd4-1294-5ee9-22f5cf4f0269.png" width="900px" title="投稿一覧">
#### 3. いいね機能
投稿された記事に対して、いいねを押すことができます
<img src="https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/829213/6d68c833-0622-65ee-a0a2-41a2a42364fe.png" width="900px" title="いいね機能">
[](![いいね機能](./images/いいね機能.png))
#### 4. 記事の検索
投稿された記事を、キーワード・走行距離・都道府県の項目で検索することができます
<img src="https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/829213/5f4ca24b-cff3-282a-dd5b-1c8a08b10972.png" width="900px" title="記事の検索">
[](![記事の検索](./images/投稿検索画面.png))
#### 5. 記事へのコメント
記事のタイトルまたは画像をクリックして、記事詳細ページに移動して、記事へのコメントを送ることができます
自分が送ったコメントは記事詳細ページに表示されます
<img src="https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/829213/20aa18fa-425c-4499-2f03-330a30802771.png" width="50%" title="コメント機能">  <img src="https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/829213/c3a93886-56c8-24d2-b129-ac82f2ea2026.png" width="50%" title="コメント機能">
#### 6. 記事の編集・削除
自分が投稿した記事には、記事の右上にプルダウンボタンが表示されます
このプルダウンボタンをクリックして表示されるメニューから、記事の編集・削除ができます
<img src="https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/829213/ebba960c-d834-527c-eba1-6c040d64186f.png" width="900px" title="記事の編集・削除">

## 制作背景
* 自分の趣味であるサイクリングに関するアプリを考案しました
* その背景として、インターネット上で、サイクルスポットなどの情報は、淡路島やしまなみ海道といったメジャースポットに関する旅行サイトの記事などに限られており、実際の体験談やマイナーなスポットなどの情報が得にくいと感じていました
* その反面、友人の体験談などから、自分も同じスポットに興味を持つことがあり、サイクリングの体験談は、同じ趣味を持つ人に需要があるのではないかと考えました
* 以上の経験から、誰でも気軽にサイクリングの体験を共有しあえるサービスを考案し、本アプリを作成しました

#### 目的のターゲット層
サイクリングが趣味の人

#### どんなニーズ&課題に
・他の人のサイクリングの体験を知りたい
・サイクルスポットの情報が知りたい
・おおよそのサイクリング距離が知りたい

## 実装機能一覧
ユーザー管理機能（新規登録・ログイン）/ 記事投稿機能 / 記事一覧表示機能 / マイページ記事一覧表示機能 / 
ユーザー登録情報編集機能 / 記事詳細表示機能 / コメント機能 / 記事編集・削除機能 / 画像投稿機能 / 
記事検索機能 / いいね機能 / 記事並び替え機能 / ゲストログイン機能 / ページネーション機能 / レスポンシブデザイン

## DB設計
<img src="https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/829213/a361fb82-be9a-1059-b0be-b58011d6fbbb.png" width="600px title="ER図" align="left">

## 工夫したポイント
* 記事の表示方法に関して、次の2点を工夫しました
1点目は、サイクリングの用途に合わせた投稿検索が行えるよう、走行距離や都道府県の検索フォームを作成しました（アプリケーションの概要4参照）
2点目は、自分が見たい投稿が上位に来るよう、投稿日時順やいいね順での並び替え機能を作成しました（下図）
<img src="https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/829213/312ef043-2914-dbe7-1e66-01919fdc61bb.png" width="900px" title="投稿並び替え">  <img src="https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/829213/2b34d930-ee3d-c82a-b82e-d4f340266530.png" width="900px" title="投稿並び替え"> <br><br>

* 異なるデバイスの画面幅に対応できるよう、レスポンシブデザインを実装しました（1枚目：PC画面、2枚目：スマホ画面）
<img src="https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/829213/fbd61052-27d7-c824-0bba-9cc72b81c5c0.png" title="PC画面"> <img src="https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/829213/794ef60c-5e95-00a0-0a66-ab8f359aa922.png" width="40%" title="スマホ画面">


##今後実装したい機能
* Dockerの導入
* キーワードのタグ付け機能
* ユーザーフォロー機能
* SNSアカウントとの連携
* いいねされた時の通知機能

##おわりに
オリアプを作成してみて、いいね機能やレスポンシブデザインなどスクールであまりやっていないような機能も実装したので結構苦戦した部分も大きかったのですが、その分実装できた時はすごく嬉しくて、全体的に楽しみながらできたのがよかったです。

##参考
READMEを書くにあたって、画像を数多く使用しましたが、その配置について、下記記事を参照させていただきました。

https://qiita.com/koshishirai/items/a86ce3bb569cc4652e2f