Skip to content

iWonder118/SubscripsApp

Repository files navigation

README

本システムの概要 (v0.1)

本システムはサブスクリプションサービスに特化した管理アプリです。
現在、利用しているサービスをまとめることがき、利用数や当月の合計利用料金などを算出することができます。
そして、サービスごとに公開設定があり有効にすれば利用ユーザーの支払い情報を除く、詳細をリンクで共有できます。
転職活動用のポートフォリオとして作成しました。
現段階では、まだサービスのコア部分ができたところなので質素な作りになっております。

2020/01/23 現在  

なぜ作ったのか

昨今、それほど高くない価格に対して多くの価値を提供しているサブスクリプションサービスが増えてきました。
私もそのコストパーフォーマンスの恩恵を受けいている一人ですがその実感が最初の1〜2ヶ月をすぎるとあまり使わなくなってしまうことが多いです そして、解約しずにほったらかしてきたサービスも思い返せばチラホラとあります。
そんな、忘れてしまいやすいサブスクリプションサービスを管理するために、サブスクリプションサービスに特化した管理アプリがあればいいなと思い作成しました。
通常の家計簿アプリで管理するのもよいのですがどうしても全ての支払をまとめていくうちにいろいろな情報に埋もれてしまいがちなので、サブスクリプションサービスだけにフォーカスをして今回作成しました。

工夫した点

1.CRUD操作の非同期化
→jQuery側のAjaxでCRUD操作ができるようにしました。  

2.Docker,Circle CIでのCI/CD,Terraformでのインフラのコード化
→最近の実務で使用されている環境にキャッチアップすべく導入しました。

3.非同期でのドラッグアンドドロップでのソート
→jQuery-uiライブラリとranked-modelというGemでドラッグアンドドロップでソートができるようにしました。

使用技術

  • システム環境(動作確認環境)

    • インフラ図
      subscrips_aws

    • AWS

      • EC2
        ami : ami-0e37e42dff65024ae
        type : t2.small

      • RDS
        type : MySQL (v5.7.22)

      • ECS

      • ECR

      • Routes 53

      • ACM

      • ELB(ALB)

      • AWS CLI (v1.16.308)

        Python (v3.7.3) Darwin (v19.0.0) botocore (v1.13.44)

    • Terraform (v0.12.18)
      コードはこちらのリポジトリにあります。

    • Docker (v19.03.5)

      • Docker-compose (v1.24.1)

      • DockerHub
        WebhookによってGitHubのリモートリポジトリのMasterブランチへプッシュごとにコンテナのスナップショットを作成します。

    • CircleCI
      コードはこちらから確認できます。
      WebhookによってGitHubのリモートリポジトリへプッシュごとに自動テスト(CI)が実行されます。 Masterブランチの場合、コンテナを自動ビルドをします。 ビルド後、AWS CLIをインストールして使い、ECRへとプッシュとECSのサービスとタスク定義の更新を行います。(CD)

    • Ruby (v2.5.1)

    • RubyOnRails (v5.2.4.1)

    • jQuery (v1.12.4)

    • SCSS

    • Haml

  • 本番環境

    • トップページ top_page
    • テストアカウント
      mail: test-boy@gmail.com
      passwrod: password123

    こちらよりログインして、確認することができます。

実装機能

  • サービスの登録機能 Image from Gyazo
  • サービスの削除機能 Image from Gyazo
  • サービスの編集機能 Image from Gyazo
  • サービスのソート機能 Image from Gyazo
  • サービスの共有機能
  • サービスの詳細機能
  • 毎月の支払金額算出機能
  • サービスの登録数機能
  • ユーザー新規登録機能
  • ログイン機能
  • ログアウト機能
  • テストユーザーログイン機能
  • 日ごと、月ごと金額算出

実装予定

こちらのissueにまとめてあります。

DB設計

  • ER図
    subscrips DB