💭

Laravel Filamentで請求システム作る No2 日本語化と軽い設計

2023/11/15に公開

前回引き続きFilamentで請求システムを作っていきます。

今回はどこまで進めるか解らないですが、
一旦日本語化をしていきます。

日本語化する

Laravelの言語設定を日本語に変更します。

config/app.php
- 'locale' => 'en',
+ 'locale' => 'ja',

- 'fallback_locale' => 'en',
+ 'fallback_locale' => 'ja',

- 'faker_locale' => 'en_US',
+ 'fallback_locale' => 'ja_JP',

取り合えず、設定値がenになってる物は軒並みjaに変えてみました。
不具合が有りそうなら途中で調べて戻すかもです。

後、時間設定もUTCから日本語に変えようと思います。

config/app.php
- 'timezone' => 'UTC',
+ 'timezone' => 'Asia/Tokyo',

filamentを日本語化する ついでに設定ファイルも編集できる部分に持ってくる

filamentの公式ドキュメントはこちら
https://filamentphp.com/docs/3.x/panels/installation#publishing-translations

設定ファイルの公開(編集できるように/app/の中にコピーしてくる)

./vendor/bin/sail artisan vendor:publish --tag=filament-config

filamentの各パッケージのlangファイルを公開

./vendor/bin/sail artisan vendor:publish --tag=filament-panels-translations
./vendor/bin/sail artisan vendor:publish --tag=filament-actions-translations
./vendor/bin/sail artisan vendor:publish --tag=filament-forms-translations
./vendor/bin/sail artisan vendor:publish --tag=filament-notifications-translations
./vendor/bin/sail artisan vendor:publish --tag=filament-tables-translations
./vendor/bin/sail artisan vendor:publish --tag=filament-translations

1行ずつ順番に実行しました。

お~!日本語になってる!
完璧じゃね?

請求システムの仕様を考える

ここからは請求システムの仕様なので、飛ばしてもらっても大丈夫ですが、
SEがどんな風に仕様を考えているかの1部でも見てもらえたら幸いです。

機能と項目一覧

  • 自社情報管理
    • 自社名
    • 住所・電話番号
    • 支払い先口座
    • 印鑑画像アップロード
    • 登録番号(インボイス番号)
    • デフォルト消費税
  • 顧客管理
    • 顧客名
    • 敬称
  • 請求書管理
    • 顧客
    • 請求明細
    • 請求日
    • 支払期限日
    • 源泉徴収の必要有無
    • 消費税の必要有無
    • 備考

DB設計

自社情報

論理名 その他
自社名 varchar(20) not-null
住所 text
電話番号 varchar(20)
支払先口座 text
印鑑画像ファイル名 varchar(30)
インボイス番号 varchar(20)
デフォルト消費税 SMALLINT デフォルト:10

顧客情報

論理名 その他
顧客名 varchar(20) not-null
敬称 varchar(20) not-null

顧客情報

論理名 その他
顧客ID int not-null
請求明細 text not-null
請求日 date not-null
支払期限日 date not-null
源泉徴収の必要有無 tynyint not-null
消費税の必要有無 tynyint not-null
備考 text not-null

で最低限の仕様は良いと思います。
DB設計はもっとIDとか、英語でのカラム名とか型とか、その他の制約も書いた方が良いんだけど
めんどくさいので最低限必要な情報だけ書く。

後は細かいユーザビリティーとかlaravelのお作法的な部分の
細かい事は都度補足します。

次回

今回は短かった。

次回は「顧客管理」機能を作っていきます。

LaravelとFilamentで請求システム作る No3 顧客管理機能を作る

Discussion