野球リーグスコア管理システムの開発

2019-01-13に作成

image
野球リーグスコア管理システムキャップ野球情報局に関する進捗です。

使っている技術など

  • NodeJS
  • ReactJS
  • netlify
  • MySQL
  • materializecss
  • react-bootstrap
  • react-bootstrap-table-next

旧システムについてはこちらの記事をご覧ください。

残りタスクリスト

trello

所有者限定モードのためこのボードには投稿できません ボードとは?

6/16 進捗

  • 既存システム、色々改修する必要のある箇所がある
  • フロント(react)、後でスタイル調整しようと思うが手を加えてしまう
  • サムサニモマケル、アツサニモマケル。

ログイン機能改修

現行システム(ver.2)ではコメントアウトして提供していない機能ですが、作りかけの残骸を改修しています。
とりあえずログインはできるようになった。

リーグ新規登録機能実装中

ドメイン未定←これ重要。

image

フロントに予想以上に時間使ってバックエンド実装できず。

ロゴ作成サービス「canva」使ってみる

canva
image

背景色透過は有料機能みたいです。

6/14 進捗

ver.3 システムの開発

  • 主な機能
    • 複数リーグへの対応
    • DB編集権限の提供

新ルーティングへの対応

/league/リーグ名/season/シーズンIDというルーティングへの対応を進めています。新システムではリーグのURLをユーザが決められるようにする予定です。

image

NodeJSのrouterをこう書いてしまって404エラーしか返ってこなくなって嵌まりました。。。

this.router.get("/:league_name(\\d{1,20})/season/:season_id(\\d{1,3})", this.showStats);

DBを新スキーマへ移行

旧システムのDBのダンプをスキーマを変えた新システムにリストアする方法を色々検討した結果、
一旦dockerにDBを2つ用意して新システムにinsert/selectすることにしました。

docker-composeで新たに設定を追加しました。

environment:
 #タイムゾーンの設定
 - TZ=Asia/Tokyo
 #mysqlサーバの起動時に実行するコマンド
 #文字セットの設定、SQLモードの設定
command: mysqld --character-set-server=utf8 --collation-server=utf8_unicode_ci --sql_mode="STRICT_TRANS_TABLES,ERROR_FOR_DIVISION_BY_ZERO,NO_AUTO_CREATE_USER,NO_ENGINE_SUBSTITUTION"

typescript

新スキーマに移行したのに伴い、DBアクセス周りのプログラムの改修が必要になっています。
interface作ったり、追加したテーブル用にservice(DBアクセスクラス)作ったり。

まだselect関係の機能を元に戻すので手一杯ですが、
insert/update関連の機能を早く実装したい。

宣伝

去る6/8に行われた公式戦の動画作りましたのでよろしければご覧ください。
- 第一試合

  • 第二試合

6/9進捗

UI

スコア入力実装

5ケ月前の実装を引き継いでいます。git様様。
行を1つのコンポーネントにまとめて、ボタンで選手人数の変更に対応できるように実装しました。

image
ボタンは右に寄せようと思ってます。
あと数字入力コンポーネントは3桁入力できる幅でいいかなぁ。

Google Domainsの検討

サービス化するにあたって、サービス名の再検討とドメインの取得が必要になりますが、.jpドメインを取得するのでなければ、メール転送サービスがあるGoogle Domainsがよいとのアドバイスをいただきました。

サービス名の検討

上記に関連して、サービスリリースするならサービス名を再検討することにしました。

6/8 進捗

最近設計続きであまり外側からわかる進捗がないのですが、
プロジェクト全体の現在の状況です。

次期システム(Ver3.0)開発中

  • 複数リーグに対応し、ユーザがデータ登録・編集できるようなサービスを目指しています。

reactプロジェクトとNodeJSプロジェクトをドッキング

これまで、reactプロジェクトをnetlifyにデプロイするため、利便性の観点からreact/NodeJS(バックエンド)プロジェクトを分けていましたが統合しました。

次期システム用DBの設計完了

create文(DDL)書き終わったので、現在は現行システム(ver2)のDBをver3システムに移行するSQLを書いているところです。

docker-composeスクリプト

モダンな開発・運用環境ということでdocker-composeを使ってまずDBコンテナを立てています。順を追ってAPI用のNodeコンテナ、WEBサーバ用にnginxコンテナを立てる予定です。