世界一短い短縮URL作成サービスをリリースした(かった)

はじめに

この記事はプロコンゼミ(SPC同好会) その2 Advent Calendar 2018二日目の記事です

なんか調子乗って(その1,1日目),(その2,2日目)を抑えてしまったので記事を書きます
ちなみの1日目の記事はこちら

はい、察してください

最後まで開発できずにベータ版として公開することにしました。
明日もテストだししょうがないね

あと世界一かどうかちゃんと調べたわけではないです(同じことをやってる人がいそう)

とりあえず作ったものの紹介

短縮URL作成サービスto2.pw(β)を作りました、
最短でドメインン + 2文字の短縮urlを作成できます

有効時間によって生成するURLの長さを変えています、有効時間を3時間にすると2文字の短縮URLを作成することができます。

自分が短縮URLを使うタイミングって黒板に書いたり、目の前のPCに入力したり…etcという、どんなに長くても数時間くらいしか同じURLをつかわないシーンがほとんどなので短いURLを生成できる短縮サービスを作ったわけです、あと正直ほとんど使われないと思っていて、その分強気にURLを短くしています。

あと当然自分はAdminなので専用のドメインを使って
u-t.me/任意のリンクを発行できます、具体的には
u-t.me/twitter
u-t.me/git
みたいなリンクをサービスを運用している限り使い続けることができます、

独自ドメイン、機能としてつけたいと思っているのですが、ssl証明書の発行がだるそうだなぁとか思ってます。

動機

夏休みごろ、

=> Djangoの勉強をしたい
=> webサービス作ろう
=> 自分が使えるやつ
=> URL短縮サービス
=> なんか特徴がほしい
=> 生成されるURLを短くする

こんな感じのフローで短縮urlサービスを作ることにしました
そのときに途中までつくってたのですが、中途半端に開発を投げ出していました、
(残骸 Herokuでホストしていてまだ残ってた)
プロコンが終わり、アドベントカレンダーを書くということで、いい機会なので開発を再開することにしました,多少なりともWEBに対する知見も増えたはずなので最初から作り直しました.
で、完成した(β)のがto2.pwです

使った技術とか

  • Django
    • URLの短縮,認証,
  • Nuxt
    • フロント
  • bootstrap-vue
    • プロコンでも+nuxtで使っていたので、本当はvuetifyとか使いたかったんだけど使い方が全くわからなかった、bootstrapバンザーイ
  • postgresql
    • DB,ちゃんと(?)オープンソースのDB
  • social-auth-app-django
    • OAuthでのSNSログイン、すごい簡単だった
  • docker-compose
    • 開発環境,実行環境
  • https-portal
    • ssl化
  • nginx
    • リバースプロキシ(nuxt,Djangoのstaticファイル,APIをすべて to2.pw/ にあつめた)
  • Hatchful
    • アイコンの生成,(デザインセンスがないので必須)

思ったこと

https-potal超便利

https-porta
簡単にssl化できるやつ、これまではsslかするのに色々してssl証明書を取得してnginxでssl化、3ヶ月に一回再度証明書発行、みたいなことをやっていたのですがhttps-portalを使うとdocker-composeに数行書くだけでめんどくさいこと全部やってくれます。

social-auth-app-django超便利

Django、最初からuser管理の仕組みがついてくるのですがそこに乗っける形でOAuthログインを実装してくれる、自分がやったことと言ったら設定ファイルに数行追加しただけ、費やした時間の95%がAPIキーの取得だった、SNSログインを実装するだけでDjangoを使いたくなるレベルで簡単。

Django,APIを作るものではない

上記の通りDjango使ったことはまあ良かったのですがちょっと冗長だったかもしれない、Django、テンプレート(railsでいうview)があるのですが一切使わなかった

モチベーションがほしい

実際にかけた時間は多分一週間にも満たないと思うのですが間が空いてしまった、モチベーションを維持する何らかのソリューションを使えばよかった(まあ今回はアドベントカレンダーがあったわけですが)

ドメインを探すの癖になる

to2.pw、domains.google.comで取ってますなんかなるべく短いドメインを取ろうと思って合計2時間くらいずっと文字列を入力してた気がする、実際には個人が取得できる(現実的に)のは3文字までらしいです、ちなみに.pwはとても安かった(千円/年)SEOがとても悪いらしいです、まあ検索からの流入が見込めるものでもないからね…

ちなみにまだgoogleにindexされていない、なんかちょっと前まで匿名で(recaptchaは有り)urlを登録できた気がするのだけどなんかsearch consoleというものになったみたい

To-Do

時間がなくてベータ版だみたいなことをうるさくいってきましたが具体的にこれから実装したいこと

  • QRコードの表示
  • CI,CD
  • サブドメインでアカウントごとに専用namespaceを与えられるようにしたい
  • 上の機能をユーザーが用意した独自ドメインでもできるようにしたい
  • 任意のurlを発行できるようにしたい 例)to2.pw/event-hoge
  • アナリティクス,URLへのアクセス数カウント
  • URLの削除
  • PWAに対応
  • chrome dev tool のAuditsの向上(とてもひどかった)
  • 収益化(AdsenseはR18なのでこれは保留)

おわりに

ベータ版ですが機能としては十分に使えるはずなのでぜひ使ってください、使っていただけると泣いて喜びます。
=> to2.pw

追記
何か気がついたことなどあったら気軽に連絡していただけるとうれしいです=> twitter

すみません今日も内容が薄い気がしますが明日試験なので勘弁してください
to2.pwが完成したらqiitaにもつよつよSEOで流入を増やすため記事を書くかもしれないです。
あとはじめにも触れましたがこの記事はプロコンゼミ(SPC同好会) その2 Advent Calendar 2018二日目の記事です

その1 => https://adventar.org/calendars/3129

今日(12/2)のその1担当 => @stop_pattern

明日(12/3)の担当は
その1 => @shibh308
その2 => @kapipara
です

ああもう19時だよ…:wq