作品：フェイスブックの複製（Facebook Replica）

#概要

Odin Projectレッスンによって作ったSNS。

レッスンURL: https://www.theodinproject.com/paths/full-stack-ruby-on-rails/courses/ruby-on-rails/lessons/rails-final-project

Github: https://github.com/RistoLibera/Facebook_Replica

![1.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/613718/6c8a0623-6e73-d559-7b8d-8efb7992305a.png)

作品URL: https://a-facebook-replica.herokuapp.com/

#使用技術
・HTML、CSS、Bulma
・Javascript
・Ruby、Ruby on Rails
・Heroku
・Git
・GitHub
・Oracle VM VirtualBox

#機能一覧
##ユーザー登録機能

Create New Accountボタンをクリックしてから登録画面へ進みます。

![2.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/613718/6e94e85c-a011-722f-fb16-03c32d2d3b46.png)

必要なところに入力し、Sign Upボタンを押してメインページへ進んでいきます。

![3.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/613718/40fbb35c-fe5e-012a-73c6-a07a904b0687.png)

登録成功！

##ログイン機能

![4.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/613718/1cf807d6-e0b1-0020-725a-879a11faba65.png)

サインアウトしてログインに試してみましょう！

![5.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/613718/09d28b43-454c-0666-9d72-463104b45d19.png)

ログイン成功！

##メールでパスワード変更機能（ローカル）

HerokuのTwilio SendGrid拡張機能はクレジットカードが必要ですから…

![6.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/613718/e98fbf33-2d1c-bf7e-1000-aa1da3694588.png)

ローカルでメールアドレスを入力し、Sendボタンをクリックして仮メールを届きます。

![7.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/613718/c1d64b61-ebd9-4b97-ef9f-71ebfe826a69.png)

リンクでパスワード変更できます。

##本物のフェイスブックによる登録機能

![8.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/613718/0ffa5117-6267-200a-7497-9ca8e7e90f02.png)

一番下の文をクリックしてからフェイスブックAPIへ進みます。

![9.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/613718/7d97d9ec-a4c7-73af-cff8-e709d47b6ef8.png)

自動入力が実現しました。


##プロファイル管理機能

右上のアイコンをクリックしたらプロファイルへアクセスできます。

![10.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/613718/4961b12c-0651-631d-cc86-e27906b0d93d.png)

１：アイコン画像の変更
２：背景画像の変更
３：作ったポストの一覧
４：ダミーセクション
５：友達の一覧
６：パスワードの変更

##友達管理機能

![11.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/613718/5a1d90ca-615e-b202-5de1-10819e3e793d.png)

上のナビゲーションバーの真ん中のボタンをクリックしてから友達管理へ進みます。

![12.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/613718/d59c066f-b9b1-b4b3-e2b4-88b207da3709.png)

他人からのリクエストを拒絶もしくは受諾することができます。

##検索機能

![13.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/613718/7587501e-a491-b31e-ebdb-33e457f9ea1b.png)

左上のブロックで文字列を入力してポストとユーザーを検索できます。因みに、大文字小文字を区別しません。

![14.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/613718/c6d129b6-54b9-86aa-898a-be7a4654bb65.png)

１：検索歴史
２：検索されたポスト
３：検索されたユーザー

##文章投稿機能

![15.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/613718/e4397fd4-a9e0-4ff6-959d-2d38e3ae7365.png)

テキストエリアに入力してImagesボタンによって画像を選び、Create Postボタンをクリックしてから文章を作ります。

![16.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/613718/2d715c83-e780-5e15-8b46-d0409c308223.png)


簡単に作れます！

##文章添削機能

![18.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/613718/2da5f2ec-2fdd-5654-40f7-b4a3776e7178.png)

自分で作ったポストブロックの右上隅に三点リーダーがあります。カーソルをそれに移動して編集メニューが現れます。

![19.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/613718/112254aa-c670-3e91-60b2-72f282689c03.png)

Editボタンをクリックしたら編集画面へ進めます。

![20.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/613718/3c31ea93-e6bc-b85e-a1ee-7204d6eeb37e.png)

成功！

##コメント機能

![21.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/613718/526f4aaa-f760-a656-9f80-b9118c01ba10.png)

１：気に入りのユーザー数
２：コメント数
３：気に入れる
４：コメント欄

![22.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/613718/3e2b659d-9b46-de16-c237-deba119523bb.png)

##通知機能

![23.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/613718/2f57b6de-e387-41b8-af8a-af5e2dfe2f78.png)

カーソルを右上の鐘アイコンに移動してに通知が出てきます。

![24.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/613718/d1a76de1-e09e-b10f-5d67-33b14c8ae074.png)

それをクリックしたら該当するページへ進めます。

#まとめ

三番目の作品ですが、このような大きな工程は初めてです。

フロントエンドは、HTMLでプログラムの骨組みを作って、BulmaというCSSフレームワークによって見栄えを調整して、Javascriptも追加して簡単なインタラクションを実現しました。バックエンドは、Railsを用いてデータベースを作って管理し、Herokuにデプロイしてネットに展開します。

様々な挫折に遭ってもStackoverflowなどで調べて段々と進めておりました。ウェブプログラミングへの理解も一層高まります！