学習期間3ヶ月の初学者がポートフォリオを公開してみる。


#### なぜ書いたか？
いつもと変わらぬ1日が始まり、なんとなしに携帯をいじっていると余命診断アプリなるものを見つけました。面白そうだなと思い、ダウンロードして余命を診断してみるとなんとあと51年しか生きられないというではありませんか。
人によってはあと51年もあると考えるのかもしれませんが、なんとなくあと70年くらいは生きられるとのほほんと考えていた私にとってこの51年というのはあまりに少ない。何か後世に残さなければということで筆を...じゃなくてキーボードを叩いているところでございます。
[余命タイマー](https://apps.apple.com/jp/app/%E5%AF%BF%E5%91%BD%E6%99%82%E8%A8%88-%E3%81%82%E3%81%AA%E3%81%9F%E3%81%AE%E4%BD%99%E5%91%BD%E3%82%92%E3%82%AB%E3%82%A6%E3%83%B3/id878704370?mt=8)

また個人的にAWSの勉強をし始めたのですが、とっかかりに[AWSの漫画](https://aws.amazon.com/jp/campaigns/manga/vol11-3/)を読んでいたところ「アウトプットしないのは知的な便秘」というフレーズから便秘は嫌だなーと思い急遽この記事を書いております。

最初の記事で何を書こうか迷ったのですが、いきなりすごい記事は書けないので、プログラミングスクールに3ヶ月通い、そこで得た知見と自己学習の成果を発表することで、今からプログラミングを学び始める方の参考になればいいなと思い書かせていただきます。

#### 自己紹介
初めまして。いつもQiitaの記事にはお世話になっております。私の経歴からお話しさせていただくと、もともと消防士を4年ほどしていまして、今はエンジニア転職を目指す28歳です。
元々コンピューターには疎く仕事でもそれほどパソコンは触らないので、タッチタイピングもできない状態でmac？何それ美味しいの？あーポテト食べたくなってきた。という状態からのスタートでした。
本格的にプログラミングを学び始めたのは2019年の12月からです。これから様々なことにチャレンジしていけたらと思っています！
最近はひたすらプログラミングと英語に明け暮れる毎日です。

#### はじめに
さっそくですがポートフォリオを実際に見てもらった方が早いと思うのでここに公開します。
またプログラミングにこれから触れる方向けに記事を書いておりますので用語の説明をなるべく噛み砕いてさせていただいてます。つよつよエンジニアのみなさん、間違っているところやお気づきの点がありましたらコメントしていただけるととても嬉しいです。
(就活中なのでサイトとgithubを公開するか迷ったんですが、つよつよエンジニアの方のアドバイスがもらえるかもしれないと考えたら機会損失になるのはもったいないと思い公開しました:sunglasses:）

#### アプリタイトル
first_skill_app 

~~#### URL~~
~~https://firstskillapp.com/~~

#### 概要
メンターマッチングサイトMENTAのクローンサイトです。
https://menta.work/

#### テストアカウント
- BASIC認証
  - ユーザー名 : 1111
  - パスワード : 1111
- メールアドレス : test@1
- パスワード : 11111111
  - 万が一テストユーザーが消えている場合はメールアドレスtest@＊でログインできます。(＊に数字を入れてください)

#### 開発環境
- Docker 19.03.5 (コンテナという技術を用いてアプリを立ち上げるための環境構築が楽になる)
- CircleCI 2.0 (自動でテストを行う。githubというサービスを用いてインターネットに自分のソースコードをあげたときに自動的にテストを行う仕組み)
- Ruby on Rails 5.2.4.1 (Rubyをもちいてアプリを簡単に作れるようにしたもの。フレームワークと呼ばれる)
- Ruby 2.5.1 (日本人のまつもとさんが作った偉大なプログラミング言語)
- MySQL 5.6 (データベース、いろいろなデータが入っているエクセルみたいなもの)
- unicorn 5.4.1 (アプリケーションサーバー、動きがある画面を返すパソコンみたいなもの)
- nginx 1.16.1 (webサーバー、文字だけなど静的な画面を返すパソコンみたいなもの)

#### 環境仕様
- Dockerによる開発環境構築
- CircleCIによる自動テスト（rubocop,siderによるLint・・・ソースコードを綺麗にしてくれるもの)
- CircleCI,Capistranoによる自動デプロイ (デプロイ・・・インターネットに自分のサイトを公開すること)
- AWS(EC2,VPC,route53,Certificate Manager)(AmazonWebServiceの各種サービスです。)

#### アプリケーション仕様
- ユーザーサインイン・ログイン機能
- ユーザー編集、削除（退会）機能
- プラン投稿、編集、削除機能
- メッセージ送受信機能、返信機能
- ユーザーフォロー機能
- タグ機能
- 記事投稿、編集、削除機能
- メンター検索機能、タグ検索機能

#### 制作期間　
３週間から1ヶ月


#### DEMO
- TOPページ
![screencapture-18-178-33-110-2020-03-27-11_45_19](https://user-images.githubusercontent.com/59118646/77716042-8fad8700-7020-11ea-891f-1c31d4a766f0.png)

- メインページ
![screencapture-18-178-33-110-users-2020-03-27-11_47_18](https://user-images.githubusercontent.com/59118646/77716128-c71c3380-7020-11ea-9af3-06bf40f51129.png)

- プラン作成画面
![screencapture-localhost-3000-plans-new-2020-03-22-23_00_51](https://user-images.githubusercontent.com/59118646/77251322-0d743a00-6c91-11ea-8612-528cb9140112.png)

- メンター一覧画面
![screencapture-18-178-33-110-plans-new-arrival-mentor-2020-03-27-11_49_02](https://user-images.githubusercontent.com/59118646/77716237-06e31b00-7021-11ea-836b-e4d8af3224ca.png)

- メンタースキル絞り込み画面
![screencapture-18-178-33-110-plans-search-2020-03-27-11_50_31](https://user-images.githubusercontent.com/59118646/77716308-35f98c80-7021-11ea-8922-7dc72ebbee70.png)

- プラン詳細画面
![screencapture-18-178-33-110-plans-22-2020-03-25-15_44_53](https://user-images.githubusercontent.com/59118646/77509223-aed8d700-6eaf-11ea-88f1-f6b2957da28a.png)

- プロフィール画面
![screencapture-18-178-33-110-users-31-2020-03-25-15_38_31](https://user-images.githubusercontent.com/59118646/77508856-0591e100-6eaf-11ea-8fb0-88443e357b9f.png)

- 退会確認画面
![screencapture-localhost-3000-users-1-delete-confirm-2020-03-22-23_06_25](https://user-images.githubusercontent.com/59118646/77251478-e4a07480-6c91-11ea-8429-42c14f43bcef.png)

#### やったこと

- 3ヶ月間、毎日10時間はパソコンの画面を見つめました。（おかげで視力が悪くなったかも笑）
- スクールの友人とアウトプットをする（説明できないことは理解が足りていない）
- ひたすらググる。（ただググるだけではなく仮説を立ててからググる）

#### こうすればよかったこと
コピペは辞める。（理解してコピペならいいが思考停止でコピペは本当によくない。）

#### アプリを作ってみて
- 筋トレと一緒で頭を悩ましている（脳みそに負荷をかけている）時が一番成長している気がする。
- 最初は辛いけど徐々にできることが増えていき楽しくなってくる...はず笑
- あるあるだと思いますが、プログラミングを知らない人にアプリを見せてもあまり興味を持ってくれない:joy:（家族に見せてもへーくらいの感想しかもらえない。でもそれが本当のユーザーの反応なのである笑）
- まだまだ全然完成してないんですが、就活始めなきゃということで僕の実力ではここまででした。（これからも修正やアップデートはしていくつもりです。）

##### 3ヶ月間毎日少しずつでも学習すれば優秀なみなさんならもっといいものが作れると思います。これからプログラミングを始める方の参考になれば幸いです。
##### 最後までみていただきありがとうございます！