6日で作ったRailsアプリを譲渡するまで

![joto.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/116375/dfab3121-97f0-f865-fe8f-c0d170652bcc.png)

## はじめに
6日で開発した[Railsアプリ](https://devmart.jp/businesses/1)を譲渡しました。結論から言うと、譲渡額は**40,000円**です。アプリの内容は、誰でも簡単にランキングを作って、投票をしたり、候補を追加したりできるミニアプリ。Twitterカードを自動生成できるので、最近流行りのTwitterバイラルも狙えるかなと思って、作ってみました。

実際にリリースしたのは、先月ですがマーケティングの糸口が見つからず放置していました。それから一ヶ月くらいして、「[個人開発のフリマ](http://devmart.jp)」に出品しました。3日ほどで、「興味がある」と言ってくれる方が見つかり譲渡することになりました。

購入していただける理由は、アフィリエイトが得意なのでうまくやればサービスを育てられそう、とのことでした。今回は譲渡が決まってから、実際に完全に権利を移行するまでを書いていきたいと思います。

## 個人開発のフリマとは
<img width="1390" alt="スクリーンショット 2019-06-03 19.37.28.png" src="https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/116375/f4812212-dadc-9a2f-6939-b75e83ce83f3.png">

個人開発のフリマは、個人開発者やスタートアップのサービスを気軽に売り買いできるマーケットプレイスです。通常、譲渡というと、「ユーザーが○百万人いて」、「PVが○千万PVあって」とかとハードルが高いのですが、ここでは作っただけでも売れる、フリマなので敷居が低いのです。

出品されているサービスも、数万円〜数千万円までとピンキリです。流れ的には、出品して、欲しいという人と交渉して、契約を交わして、譲渡となります。初めてサービスを売却する人も、サービス経由なら安心して行なえそうですね。

「個人開発のフリマ」公式サイト：[https://devmart.jp](https://devmart.jp)

## 移行作業について

### サーバー（Heroku）
まず、Herokuの「Access」タブより先方のアカウントをコラボレーターに追加します。作業が完全に完了したら、「Settings」の「Transfer Ownership」で先方のアカウントに書き換えてあげれば完了です。

### ソースコード（GitHub）
GitHubのプライベートレポジトリを共有してもらって、Pushして完了しました。

### ドメイン（お名前.com）
<img width="1258" alt="スクリーンショット 2019-06-04 15.16.08.png" src="https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/116375/9f1dd424-e5a4-c13f-1ad9-023fff0386b3.png">

ドメイン設定や、ドメイン一覧ではなく、「お名前.com会員情報」の「お名前ID付け替え」から先方のIDとパスワードを拝借して、ドメイン移行を行なうことができました。

### 画像サーバー（Amazon s3）
画像サーバーを移行していきます。s3のバケットをそのまま権限付与みたいなことはできないらしいのです、[公式ドキュメント](https://aws.amazon.com/jp/premiumsupport/knowledge-center/copy-s3-objects-account/)にあるように進めていきます。

まずは、送信元のバケットポリシーを送信先へ移行できるように権限を変更していきます。

```json

{
    "Version": "2012-10-17",
    "Statement": [
        {
            "Sid": "DelegateS3Access",
            "Effect": "Allow",
            "Principal": {
                "AWS": "arn:aws:iam::[送信先のIAMアカウント]:root"
            },
            "Action": "s3:*",
            "Resource": [
                "arn:aws:s3:::[送信元のバケット名]/*",
                "arn:aws:s3:::[送信元のバケット名]"
            ]
        }
    ]
}
```

次に、送信先のIAMアカウントのポリシーを書き換えていきます。
ちょっと分かりにくかったのですが、「インラインポリシーの追加」から「JSON」で書き換えることができました。

```json
{
    "Version": "2012-10-17",
    "Statement": [
        {
            "Effect": "Allow",
            "Action": [
                "s3:ListBucket",
                "s3:GetObject"
            ],
            "Resource": [
                "arn:aws:s3:::[送信元のバケット名]",
                "arn:aws:s3:::[送信元のバケット名]/*"
            ]
        },
        {
            "Effect": "Allow",
            "Action": [
                "s3:ListBucket",
                "s3:PutObject",
                "s3:PutObjectAcl"
            ],
            "Resource": [
                "arn:aws:s3:::[送信先のバケット名]",
                "arn:aws:s3:::[送信先のバケット名]/*"
            ]
        }
    ]
}
```

これで準備完了です。いただいたI AMアカウントを`$aws configure`コマンドから設定して、`$aws s3 sync s3://[送信元バケット名] s3://[送信先バケット名]`を入力すると、気持ち良いくらいすっと移行作業が終わります。

### メールサーバー（Amazon SES）
こちらは、s3を移行したときにI AMアカウントを作ってもらったので、その時にSESへもフルアクセス渡したので、難なく完了しました。

### アナリティクス（Google アカウント）
<img width="1390" alt="スクリーンショット 2019-06-03 23.15.27.png" src="https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/116375/b8b8e70b-d3a2-5465-97f2-4e457ef281c8.png">
ユーザーの管理権限を共有しました。ただ、サービス用にGoogleアカウントを作成していたので、こちらもそのままお渡ししてしまいました。

設定（アドミン）のユーザーマネージメントから、いただいているGmailを入力すればそのままAnalyticsの権限メールが相手に飛ぶようになっています。

### 認証（Twitter）
先方より、Twitter Developer Appsに登録、申請をしていただきました。1営業日ほどで審査通過し、`Consumer API Key`を共有してもらいました。それぞれ情報を入力してもらう作業は相手に負担がかかるものの、ほぼコピペだったので問題なさそうでした。

## おわりに
Amazon s3が面倒でしたが、あとは名義を変更するだけだったのですんなりでした。
1日4時間程度の作業で、6日です。引き継ぎに要した期間も含めると、だいたい4人日くらいですかね。そう考えると、4万円よりもう少し欲しいところはありますが、そのままお蔵入りしていくよりはマシかなと。

何よりも、自分が作ったサービスが**これから成長していくのを当事者でなくても、見られるのはすごく楽しみだな**と思っています。

実際、今回のミニアプリ以外でも、数万円〜数十万円の規模のサービスはなかなか交渉数も多く、賑わっているように思います。もし、放置しているサービスがあったり、作ってみたけど自分ではどうにもならなかったサービスがあったら出品してみるのもありかもしれませんね。売れればラッキーだし、交渉から売却までの流れは額にかかわらず、達成感というものを感じられますね！