バリデーション部分は実は前からアイデアがあって、

Railsとかこんな感じで書くわけだけど、
https://railsguides.jp/active_record_validations.html

こんなのは一切廃止して、言語非依存の
YAMLとかでバリデーション定義ファイルを作ればいいと思ってる。

そしてモデルでその定義ファイルを参照することもできるし、
APIからも参照することができる。関数からも参照することができる。
言語非依存ということは同じファイルをJavaScriptからも参照できるので
クライアントサイドのバリデーションも同時に定義できる。

ここで俺がいいたいことの1つとして、正規表現をバリデーション定義に
直接書くのはやめようということ。なぜなら技術的な内容過ぎて
エンドユーザーにはわからないから。

正規表現の代わりに独自の関数を使えば事足りる。

複数の条件や現在のデータも考慮しなければいけないものなどは
バリデーション定義ファイルでは実現できないかもしれないけど
重要なのは完璧にすることではなく無駄を減らすこと

またバリデーション定義に似たものとして
権限管理ファイルってのも考えられる。

なるべくエンドユーザーでも直接みれるようにして、
それをそのままプログラムに組み込めるようにしたい