[個人開発]学生時代に作った英会話サービス
現在は公開をしておりません🙇🏻♂️(2023年1月) Githubリポジトリ:https://github.com/shin6142/sbapp ■何を作った? Studdy Buddy の参加者用アプリケーション ✔サービスの概要 ①Studdy Buddyとは? コロナ禍でも自宅からの国際交流を可能にするサービスです。 ②誰のために ? ・留学を諦めた ・学生既存の英会話サービスに物足りなさを感じている学生 ③何ができる? ・オンラインで海外の学生とディスカッションをすることができる。 ・ディスカッションの感想をWebアプリでシェアすることで、参加者同士でモチベーションを高め合うことができる。 ・講師と学習者というレッスン内の一時的な関係でなく、Webアプリ上で参加者同士の継続した交流を実現する。 ✔技術・開発概要 ①使用技術 ・言語:Ruby ・フレームワーク:Ruby on Rails ・インフラ:AWS EC2 ・データベース: MySQL (AWS RDS) ・Webサーバー:Nginx ・Applicationサーバー:Unicorn ・DNS:Route 53 ・SSL証明書取得: Amazon Certificate Manager ②開発人数 ・個人開発 ③開発期間・過程 ・2020年10月〜2021年1月 - 2020年8月:Ruby学習開始 - 2020年10月:webアプリ開発開始 - 2020年12月:Heroku + S3 でのデプロイ - 2021年1月:AWS EC2 でのデプロイ ✔開発背景・過程 ここから、開発に至った経緯、開発中大変だったことや工夫したことについての紹介です。 ・このサービスのきっかけ 友人がコロナ禍で留学を断念し落胆していた時、何か自分にできることはないかと考えたことです。 �自分も留学を断念した学生の一人でしたが、その友人は留学前には毎日アルバイトをしたり人一倍節約したりと、やっとの思いで留学を実現させており、親のサポートを受け留学をしている自分が落胆しているの場合と感じていました。 そこで、この友人のような思いをした学生のは少なくないと考え、自分の取り柄である一年間の留学経験とプログラミングを活かしてこのコミュニティの企画をはじめました。 ・大変だったこと HerokuからAWSへのインフラ移行 ローカルでの開発を終えherokuの特徴を知らずにデプロイをした結果、アップロードした画像が消えてしまう、30分サーバーのアクセスが無いとスリープモードに入ってしまう等の問題が起きました。その後、Herokuを有料プランにしS3でサービス運営を継続しつつ、学習のためAWS EC2でのサーバー構築に取り組みました。その中で特にWEBサーバーの設定に苦戦しRails に適しているPumaの使用を試みましたが、エラーを対処できず、Unicornを使用する結果となっています。 ・工夫したこと 工夫①:ユーザーの機能使用制限の調整 初めてサービスを利用するユーザーにも活動の全容やコミュニティの雰囲気を知ってもらうため、 過去の投稿や他ユーザーのプロフィール、コメントを閲覧できるよう機能権限を調整しました。プロフィール、コメント、投稿の新規作成のみ会員登録後に使用できます。 工夫②:使用フロー userモデルとpurofileモデルが紐付いているため、Profileを持たないUserが発生しないよう、会員登録をした後はプロフィール作成画面に遷移するようregistrations_controller.rbの設定を変更しました。 今後の課題 ①機能の拡張:Action Mailer, SNSログインを導入する。 ②エラー解析:Webアプリとして正常に動作はするが、これまで経験したエラーがなぜ起 きたのかまで把握したい。例えばWEBサーバーの設定でなぜPumaは動作しなかったのかを理解し、次回の開発ではPumaに再挑戦したい。 ③:AWS、インフラの知識をつける。サービス開発公開を俯瞰的に理解しているがVPCやSubnet等の一つ一つの要素を深く理解し、なぜそれらが必要なのかの理解に努めたい。 ④:ユーザーの使用頻度を上げる。多くのユーザーにとって、ITサービスの入り口はスマートフォンであるため、このwebサービスのネイティブアプリ版を開発し、よりユーザーの身近なサービスにしたい。