2
3

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 1 year has passed since last update.

個人的なまとめAdvent Calendar 2023

Day 1

現役高校生が水泳記録管理サービスを作った話/その0:思い立ち編

Last updated at Posted at 2023-11-30

はじめに

この記事は、Qiita Advent Calendar 1日目の記事です。
以下の記事より、すべての記事をご覧になれます。

筆者について

  • 現在高校2年生
  • 水泳部マネージャー
  • 生徒会長
  • とある団体の代表

本編

どんなサービス?

以下にリンクを貼り付けておきます。

水泳選手向けの記録管理サービスとなります。

Alt text
引用:https://www.sokfi.net/images/pdimg01.png

サービスを稼働させようと思った気っかけ

筆者はただいま現役高校生で、いろいろな成り行きがあって水泳部マネージャーをしております。その中で、選手のタイムの管理ができていなかったという経緯があって、選手のタイムを自動管理、そして自動である程度の記録の分析をしてくれるようなサービスを展開したいと思いローンチしました。

計画について

必要なユーザー情報

サービスをローンチするにあたってどのような情報を管理する必要があるかについて整理しました。そして、ユーザーから集めなければいけない情報を以下のように整理がつきました。

  • 登録する記録を出した日
  • 記録の概要(タイム・泳法・1タイプ・その他)

技術および利用サービス

こちらに関してはすごく悩みました。というのも、自分自身当時は素の HTML と CSS と JavaScript、他は Python と GAS が少し触ったことがあるというレベルでした。ですので、どの技術を利用するにしろどちみち新しく学習することになるのです。できるだけ早く、しかしきちんと今後も使えるようなものを選ぶ必要がありました。そして、以下のような技術を選定させていただきました。

  • React(フロントエンド/メイン)
  • Bootstrap(フロントエンド/見た目)
  • Django(バックエンド/とりあえずゲートウェイ的な)
  • Firebase Authnication(バックエンド/認証)
  • Firebase Database (バックエンド/ユーザーデータ管理)
  • Google Cloud Compute Engine(サーバーサイド/Cloud Computing)
  • 2Nginx (サーバーサイド/Web Server Application)
  • 2Express (サーバーサイド/Server Framework)
  • 2Gunicoorn (サーバーサイド/WSGI)

開発スケジュール

この計画を思い浮かんだのが2023年の3月ごろ、そして最初はサービスのローンチを6月ごろに考えていました。しかし、やはり高校生というものは日を増すごとに時間がなくなるもので、実際のリリースは8月にもつれ込みました。

時期 予定 実際の経過
3月 計画 -
4月 フロントエンドの開発 フロントエンドの開発
5月 バックエンドの開発 開発できず
6月 サービスのローンチ フロントエンドの開発
7月 機能追加 バックエンドの開発
8月 - 最終調整・ローンチ

サービス名の問題

このサービスの名称を考える上で、次のようなことを考えていました。

  • より多くの学生にとって使いやすいものであって欲しい
  • できるだけ覚えやすく語呂がいい
  • 覚えられるレベルのURLであってほしい

以上のことから考えた結果、「So Kindness system that you can Fall In love」の略からSOKFIという文字を取りました。(無理矢理なのはご勘弁)

これに合わせてドメイン「sokfi.net」というドメインも取得しました。ちなみにこのドメインはGoogle Domainsで取得したのですが、どうやら事業売却がなされるということで今後が少し心配なところです。

後からきづいた、あの時やっとけばよかったこと

法令関係を全く考えてなかった

この先の記事で詳しい内容については記載しますが、恥ずかしながらも今回のこの取り組みで初めてGDRPなるものを知ったり、あるいは日本の個人情報の取り扱いに関する話を知ったりと、無知で危うく法令を無視してサービスをローンチするところでした。やはり事前に自分をかなり疑って余分に調べることが大切ですね。

テスト環境を作らなかった

これについては本当になぜ当時思い浮かばなかったのかが不思議ですが、当初Conmpute Engineを使用していた際に全くスペックについて考えず、とりあえず安いものをという考えでした。これは本当に甘かったです。これも今後の記事で書きますが、結果的にはマシンの性能を格上げするに至りました。

もっと綿密なスケジュール管理

スケジュール管理が無茶苦茶でした。自分自身ができるだろうと考えていたことが絶対進まないものでした。よく「予定はあくまで予定であり未定」と言われますが、それにしてもこれはかなりの問題です。経験値不足もあるとは思いますが、今後の開発では気を付けていきたいところです。

最後に

この計画段階から分かるように、かなり不安要素だらけでこの計画はスタートしました。一高校生が空き時間で始めたサービスに適当さが滲み出ていますが、果たしてこの後どのような道を辿ることになるのでしょうか。今後のアドカレ23の記事をお楽しみにしてください。

  1. ここで言う「タイプ」とはその水泳がどのような種類のアクティビティとなるかです。本サービスでは「練習」・「レース」・「その他」の3種類を用意しています。

  2. 実は計画の時点では Apache を使って、Express など使うつもりもありませんでした。というか、Gunicorn って何?って感じです。これについては後ほど記述しますが、当時の自分には全くもってこれらのものに対する知識がありませんでした。後から勉強して悔やんだ覚えがあります。 2 3

2
3
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
2
3

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?