paint-brush
Laravel Nova の長所、短所、落とし穴: 製薬 ERP システム開発のケーススタディ@jatapp
3,485 測定値
3,485 測定値

Laravel Nova の長所、短所、落とし穴: 製薬 ERP システム開発のケーススタディ

JatApp8m2023/05/18
Read on Terminal Reader

長すぎる; 読むには

このケーススタディでは、Laravel Nova の主な長所、短所、暗い部分が明らかになります。物語は、ウクライナのソフトウェア開発会社 JatApp が開催するプロジェクトを中心に展開します。 JatApp のクライアントである製薬会社は、サプライ チェーン管理を改善するために ERP システムを必要としていました。ソリューションはできるだけ早く提供される必要があるため、高速かつ高品質の結果を提供できるテクノロジーとして Laravel Nova が選択されました。
featured image - Laravel Nova の長所、短所、落とし穴: 製薬 ERP システム開発のケーススタディ
JatApp HackerNoon profile picture

「できるだけ早く」 。このフレーズは、カスタム ソフトウェア ソリューションを開発したい企業を連想できるでしょう。


そのため、ソフトウェア開発エージェンシーは、企業経営者やスタートアップの創業者に迅速な製品開発プロセスを保証できるテクノロジーを使用しようとします。ウクライナのソフトウェア開発ベンダーであるJatApp は、そのようなクライアントと協力しました。


Laravel Nova は、可能な限り短い時間で顧客に動作する製品を提供する必要があったため、最適なテクノロジーでした。


Laravel Novaはその目的を達成しましたか?次のケーススタディで見てみましょう。


Laravel Nova が動作中


製薬会社はカスタム ERP システムを必要としていました

製薬業界における物流とサプライチェーンの管理は大変な仕事です。


法的規制、製品保管に関する特定の要件、需要の変動性、供給の混乱などが、サプライチェーン全体で医薬品をスムーズかつタイムリーに配送するための主な障害となっています。

製薬業界の典型的なサプライチェーン


また、多くの企業がサプライチェーン管理データを手動で記録しているため、これも遅延や混乱の原因となっています。その結果、サプライチェーン全体がパフォーマンス上の深刻なボトルネックに直面しています。


JatApp のクライアントは、社内向けにカスタムのエンタープライズ リソース プランニング (ERP) システムを開発することで、サプライ チェーン管理からこのような設備の整っていないプロセスを排除することを目的としていました。


ERP アプリケーションは、サプライ チェーン内のすべての関係者がアクセスできる単一の共有システム内で、すべてのサプライ チェーン管理業務をデジタル化、最適化、自動化することが期待されていました。


クライアントは製薬業界の物流の問題を十分に認識していましたが、同社にはソフトウェア開発の専門知識がなかったようです。そのため、クライアントは技術支援を求めて JatApp に来ました。


しかし、ここで「できるだけ早く」ということが浮上しました。クライアントの会社は多額の先行投資をする必要があり、目に見える成果をすぐに得たいという彼らの願望は自然なものでした。


さらに、クライアントは ERP のユーザー インターフェイス (UI) にあまり重点を置きたくありませんでした。彼らはそれを内部でのみ使用することを意図していたので、ソリューションを市場に出すための追加機能は必須ではありませんでした。


主な目標は、クライアントの都合に合わせてできるだけ早くソリューションを使用できるよう、十分な速さでソリューションを開発することでした。明らかに、この目的を十分に果たせる技術スタックが必要でした。

Laravel Nova は利便性と効率性がすべてです

ERP システムは、企業のサプライ チェーン全体にわたる業務の自動化と高速化が必要でした。そのため、データ レコードとユーザー権限を制御するための堅牢な管理パネルの開発が最優先事項でした。


そして、開発プロセスは迅速かつ効率的である必要があることを忘れないでください。


これらの理由から、JatApp のソフトウェア エンジニアリング チームは、管理パネルのコーディングの時間と労力を節約するツールとして Laravel Nova を採用することにしました。しかし、なぜ Laravel Nova なのでしょうか?


Laravel Nova は、人気のある PHP Web アプリケーション フレームワークである Laravel の商用管理パネルです。 Laravel アプリケーションの管理を管理するための、カスタマイズ可能で使いやすいインターフェイスを開発者に提供するように設計されています。


Laravel Nova を使用すると、ソフトウェア開発者は、ユーザー管理、コンテンツ管理、その他の管理タスクなど、アプリケーションのさまざまな側面を管理できる Web ベースの管理インターフェイスを迅速かつ簡単に作成できます。


これには、検索可能なリソース リスト、フィルター、フォーム、アクション、メトリック、承認などの機能が含まれます。


Laravel Nova は、PHP Laravel とうまく統合できる Vue.js で構築されています。これは、Laravel がすぐに使用できるソリューションとして Vue.js をサポートしているためです。


Nova と Vue.js のこのような互換性により、カスタム ページやフィールドなどの作成が可能になり、ソフトウェア開発に大きな柔軟性がもたらされることは言うまでもありません。


これが、Laravel Nova を厳選した一般的な理由です。しかし、ソフトウェア開発における利便性と効率性は、抽象的で主観的な用語ではありません。


私たちのチームは、次の利点により、Laravel Nova がクライアントのプロジェクトにとって効果的で便利なソリューションであると判断しました。

すぐに使えるコンポーネント

Laravel Nova は、すぐに使える広範なソリューションを提供しており、ソフトウェア開発者が最大限の効率で ERP の管理パネルを構成できるようになりました。既製のメニュー、フィルター、アクション、検索フィールドを簡単に組み立てて、完全なソリューションを構築できました。本格的な管理パネル。


ただし、Laravel Nova はローコード/ノープラットフォームではなく、アプリの管理に必要な一連の事前構築要素を備えたツールです。私たちのチームは、システムの要件に従ってこれらのコンポーネントをカスタマイズおよび拡張するためのコードを記述する必要がありました。

簡単な CRUD 操作

同社のサプライ チェーン管理には、さまざまな関係者間で交換する必要がある大量のデータが含まれます。そのため、データを正確にし、簡単に更新可能で、サプライチェーン全体で一貫性のあるものにすることが最も重要でした。


この課題に対処するために、JatApp チームは、いわゆる CRUD 操作の適切な管理を考え出す必要がありました。


CRUD 操作は、ほとんどのソフトウェア アプリケーションでデータを管理するために必要な基本機能を指します。 CRUD は作成、読み取り、更新、削除の略で、これらの操作はデータに対して実行できる 4 つの基本機能に対応します。



PHP Laravel のコンテキストでは、CRUD 操作はデータベースと対話し、レコードの作成、読み取り、更新、削除などのアクションを実行するために使用されます。 Laravel Nova を使用すると、私たちのチームにとって CRUD 操作を簡単に行うことができました。


このツールによりデータ アーキテクチャの構造化が容易になり、ERP の開発にかかる時間を大幅に節約できました。 Laravel Nova は、データが正しく入力され、特定の基準を満たしていることを確認する組み込みの検証を提供します。


これにより、システムをエラーに敏感にすることができました。このようにすることで、ERP アプリケーションのユーザーが間違ったデータや無関係なデータをシステムに送信する可能性が低くなります。


Laravel Nova は、異なるデータベーステーブル間の関係もサポートしているため、関連データに対して CRUD 操作を実行するプロセスが簡素化されます。これは、複数の関連テーブルを含む複雑なデータ構造を必要とする ERP アプリケーションにとって特に重要でした。


関係は、システムに入力されるデータが常に一貫性があり、正確であることを保証するのに役立ちました。さらに、リレーションシップ機能により、ソフトウェア エンジニアはコードを簡素化し、長期にわたる保守を容易にすることができました。


クライアントは、適切なデータ管理のほかに、データの完全な消去を避けることが重要であると強調しました。 Laravel Nova では、論理的な削除と呼ばれる機能のおかげで、このタスクを指一本で解決できました。


この機能により、特定のデータ要素にデータ セットから除外されるステータスが与えられますが、要素はデータベースに保存されたままになります。

カスタムフィールド

ERP システムは複数の関係者によって使用されるため、人的エラーのリスクが高くなります。そこで役に立ったのがLaravel Novaのカスタムフィールド機能です。


Laravel Nova のカスタム フィールドを使用すると、ERP アプリケーションのデータ要件にとって重要なフィールドを管理パネルで作成およびカスタマイズできます。


カスタム フィールドを使用して、私たちのチームは新しいタイプの入力フィールドを追加し、既存のフィールドの表示をカスタマイズし、データの収集または表示に使用できる複雑なフィールド タイプを作成しました。


システムのデータに合わせて調整された入力フィールドを作成し、CRUD 操作の効率と精度を向上させました。


このようにして、ERP システムへのデータ入力はユーザーにとってより直観的になり、特定の入力形式と検証ルールが適用されることでデータの品質も向上しました。

権限管理のポリシー

ERP システムの使用には、保管作業員、ドライバー、顧客など、さまざまな関係者が関与することが意図されていると述べました。そのため、関係者がお互いのデータに干渉しないようにするために、すべてのユーザー フローを分離することが重要でした。


ポリシー機能は、このタスクの解決に役立ちました。 Laravel Nova では、ポリシーはアプリケーションのさまざまな部分へのアクセスを制御するルールを定義できる機能です。ポリシーは、ユーザーがその役割または権限に基づいて、リソースに対してどのようなアクションを実行できるかを定義します。


この機能のおかげで、開発者は各ユーザーに対して幅広い権限を作成することができました。システムに権限を実装すると、各ユーザーが自分に関連するデータにアクセスできるため、多くの混乱が防止されました。

利便性は課題なしには実現しない

Laravel Nova は管理パネルを迅速かつ簡単に構築するための便利なツールでしたが、大きな障害が 1 つありました。それは、パネルの要素が完全にカスタマイズ可能ではなかったということです。


このツールは、複雑な管理パネルの開発にも対応できる、すぐに使えるコンポーネントを幅広く提供していましたが、その多くは単に私たちの要件を満たしていませんでした。


すぐに使えるソリューションを使用するとよくあることですが、あなたは彼らの囚人になってしまいます。開発の後期段階で、私たちのチームは、Laravel Nova が希望どおりにコンポーネントをカスタマイズしなかったため、複数のコンポーネントのカスタマイズに関する課題に直面しました。


これらの課題により、開発プロセスのペースが多少遅くなったのは疑いの余地がありません。


開発チームの創意工夫と創造性のおかげで、ERP が要件を満たし、意図したとおりに見えるようにする、自明ではないものの実用的な方法を見つけました。


「すぐに使えるソリューション」の罠から抜け出すには、Vue.js を使用して、システムのインターフェイスをソフトウェア要件仕様に記載されているものとまったく同じにする必要がありました。


Laravel Nova は、ほぼ無限のカスタマイズの可能性を提供することで私たちにそれを使用するよう促しましたが、そのような機能が実際にそれほど素晴らしいかどうかを確認するために短いデモを実行する必要がありました。


良いニュースは、当社のソフトウェア開発者が既成概念にとらわれずに考え、創造的な方法を見つけることで問題を解決したことです。ちなみに、冗談が意図したものです。

Laravel Novaは試してみる価値がありますか?

はい、でも…


Laravel Nova は、アプリの複雑さに関係なく、管理パネルを迅速に構築するための優れたツールです。このツールは、クライアントの ERP システム用の管理パネルを正々堂々と開発するのに役立ちました。


クライアントは結果に満足しており、製薬ビジネスの他の側面でプロセスを最適化するためにソリューションを拡張することも計画しています。


しかし、管理パネルのすべての輝くボタンや暗い隅を自由にカスタマイズするのは困難です。これは、Laravel Novaがあなたのプロジェクトにぴったりであること、またはあなたのチームが頑固にカスタマイズできないコンポーネントの角を滑らかにするのに十分な創造性と知識を持っていることを絶対に確信する必要があることを意味します。


私たちの評決と学んだ教訓: Laravel Nova は、管理パネルを迅速に開発するためのかなり効率的なツールですが、このツールがもたらすものに完全に問題がないことを確認するために、短いデモを実行するよう注意する必要があります。