paint-brush
Ưu, nhược điểm và cạm bẫy của Laravel Nova: Nghiên cứu điển hình về phát triển hệ thống ERP dược phẩmtừ tác giả@jatapp
3,453 lượt đọc
3,453 lượt đọc

Ưu, nhược điểm và cạm bẫy của Laravel Nova: Nghiên cứu điển hình về phát triển hệ thống ERP dược phẩm

từ tác giả JatApp8m2023/05/18
Read on Terminal Reader

dài quá đọc không nổi

Nghiên cứu điển hình tiết lộ những ưu, nhược điểm chính và những góc tối của Laravel Nova. Câu chuyện xoay quanh dự án được nắm giữ bởi JatApp, một công ty phát triển phần mềm đến từ Ukraine. Khách hàng của JatApp, một công ty dược phẩm, cần một hệ thống ERP để cải thiện việc quản lý chuỗi cung ứng của họ. Vì giải pháp phải được cung cấp càng sớm càng tốt, Laravel Nova được chọn là công nghệ có thể mang lại kết quả nhanh nhưng chất lượng.
featured image - Ưu, nhược điểm và cạm bẫy của Laravel Nova: Nghiên cứu điển hình về phát triển hệ thống ERP dược phẩm
JatApp HackerNoon profile picture

“Càng nhanh càng tốt” . Cụm từ bạn chắc chắn có thể liên tưởng đến các doanh nghiệp muốn phát triển giải pháp phần mềm tùy chỉnh.


Đó là lý do tại sao các cơ quan phát triển phần mềm cố gắng sử dụng các công nghệ có thể đảm bảo cho các nhà điều hành doanh nghiệp và những người sáng lập công ty khởi nghiệp về một quy trình phát triển sản phẩm nhanh chóng. JatApp , một nhà cung cấp phần mềm phát triển từ Ukraine, đã làm việc với một khách hàng như vậy.


Laravel Nova là công nghệ được lựa chọn vì nó phải cung cấp cho khách hàng một sản phẩm hoạt động trong thời gian ngắn nhất có thể.


Laravel Nova có đáp ứng mục đích của nó không? Hãy cùng tìm hiểu qua case study sau.


Laravel Nova đang hoạt động


Một công ty dược phẩm cần hệ thống ERP tùy chỉnh

Quản lý hậu cần và chuỗi cung ứng trong ngành dược phẩm là một nhiệm vụ khó khăn.


Các quy định pháp lý, yêu cầu cụ thể đối với việc bảo quản sản phẩm, nhu cầu thay đổi cao và gián đoạn nguồn cung là những rào cản chính đối với việc phân phối dược phẩm kịp thời và liên tục trên toàn bộ chuỗi cung ứng.

Một chuỗi cung ứng điển hình trong ngành dược phẩm


Ngoài ra, nhiều công ty ghi lại dữ liệu quản lý chuỗi cung ứng của họ theo cách thủ công, điều này cũng gây ra sự chậm trễ và nhầm lẫn. Do đó, toàn bộ chuỗi cung ứng phải đối mặt với một nút cổ chai nghiêm trọng trong hoạt động.


Khách hàng của JatApp dự định loại bỏ các quy trình được trang bị kém như vậy khỏi quản lý chuỗi cung ứng của họ bằng cách phát triển hệ thống hoạch định nguồn lực doanh nghiệp (ERP) tùy chỉnh để sử dụng nội bộ.


Ứng dụng ERP dự kiến sẽ số hóa, tối ưu hóa và tự động hóa tất cả các hoạt động quản lý chuỗi cung ứng trong một hệ thống dùng chung duy nhất có thể truy cập được bởi tất cả các bên liên quan trong chuỗi cung ứng.


Mặc dù khách hàng đã nhận thức rõ về các vấn đề trong lĩnh vực hậu cần của ngành dược phẩm, công ty dường như không có bất kỳ chuyên môn nào về phát triển phần mềm. Đó là lý do tại sao khách hàng tìm đến JatApp để yêu cầu hỗ trợ kỹ thuật.


Nhưng ở đây, điều “càng nhanh càng tốt” đã xuất hiện. Công ty của khách hàng đã phải đầu tư rất nhiều tiền trước và mong muốn nhanh chóng đạt được kết quả rõ ràng của họ là điều đương nhiên.


Trên hết, khách hàng không muốn tập trung nhiều vào giao diện người dùng (UI) của ERP. Họ dự định chỉ sử dụng nó trong nội bộ, do đó, bất kỳ chuông và còi bổ sung nào để làm cho giải pháp có thể bán được trên thị trường là không bắt buộc.


Mục tiêu chính là phát triển giải pháp đủ nhanh để bắt đầu sử dụng nó một cách thuận tiện sớm nhất cho khách hàng. Rõ ràng là chúng tôi cần một ngăn xếp công nghệ có thể phục vụ tốt mục đích này.

Laravel Nova hướng đến sự tiện lợi và hiệu quả

Hệ thống ERP được yêu cầu để tự động hóa và tăng tốc hoạt động trên toàn bộ chuỗi cung ứng của công ty, đó là lý do tại sao việc phát triển bảng quản trị mạnh mẽ để kiểm soát hồ sơ dữ liệu và quyền của người dùng là ưu tiên hàng đầu.


Và đừng quên rằng quá trình phát triển phải đồng thời nhanh chóng và hiệu quả.


Vì những lý do đó, nhóm kỹ thuật phần mềm của JatApp đã quyết định sử dụng Laravel Nova như một công cụ để tiết kiệm thời gian và công sức trong việc mã hóa bảng quản trị. Nhưng tại sao lại là Laravel Nova?


Laravel Nova là bảng quản trị thương mại dành cho Laravel, một khung ứng dụng web PHP phổ biến. Nó được thiết kế để cung cấp cho các nhà phát triển một giao diện dễ sử dụng và có thể tùy chỉnh để quản lý việc quản trị các ứng dụng Laravel của họ.


Với Laravel Nova, các nhà phát triển phần mềm có thể nhanh chóng và dễ dàng tạo giao diện quản trị dựa trên web cho phép họ quản lý các khía cạnh khác nhau của ứng dụng, chẳng hạn như quản lý người dùng, quản lý nội dung và các tác vụ quản trị khác.


Nó bao gồm các tính năng như danh sách tài nguyên có thể tìm kiếm, bộ lọc, biểu mẫu, hành động, số liệu và ủy quyền.


Laravel Nova được xây dựng với Vue.js tích hợp tốt với PHP Laravel vì Laravel hỗ trợ Vue.js như một giải pháp vượt trội.


Không cần phải nói, khả năng tương thích như vậy của Nova và Vue.js mang lại rất nhiều tính linh hoạt trong quá trình phát triển phần mềm vì việc tạo các trang, trường tùy chỉnh và những thứ tương tự trở nên khả thi.


Đây là lý do chung tại sao chúng tôi chọn Laravel Nova. Nhưng sự thuận tiện và hiệu quả trong phát triển phần mềm không phải là một số thuật ngữ trừu tượng và chủ quan.


Nhóm của chúng tôi nhận thấy Laravel Nova là một giải pháp hiệu quả và thuận tiện cho dự án của khách hàng vì những ưu điểm sau:

Các thành phần sẵn có

Laravel Nova cung cấp một loạt các giải pháp vượt trội cho phép các nhà phát triển phần mềm của chúng tôi soạn bảng quản trị của ERP với hiệu quả tối đa: các menu, bộ lọc, hành động và trường tìm kiếm được tạo sẵn dễ dàng lắp ráp thành một hệ thống đầy đủ. bảng quản trị chính thức.


Tuy nhiên, Laravel Nova không phải là mã thấp/không có nền tảng mà là một công cụ với một loạt các yếu tố dựng sẵn cần thiết cho việc quản trị ứng dụng. Nhóm của chúng tôi vẫn phải viết mã để tùy chỉnh và mở rộng các thành phần này theo yêu cầu của hệ thống.

Hoạt động CRUD đơn giản

Quản lý chuỗi cung ứng của công ty liên quan đến hàng tấn dữ liệu cần được trao đổi giữa các bên liên quan khác nhau. Đó là lý do tại sao điều tối quan trọng là làm cho dữ liệu chính xác, dễ cập nhật và nhất quán trong toàn bộ chuỗi cung ứng.


Để đối phó với thách thức này, nhóm JatApp đã phải đưa ra cách quản lý hợp lý cái gọi là hoạt động CRUD.


Các hoạt động CRUD đề cập đến các chức năng cơ bản cần thiết để quản lý dữ liệu trong hầu hết các ứng dụng phần mềm. CRUD là viết tắt của Tạo, Đọc, Cập nhật và Xóa và các thao tác này tương ứng với bốn chức năng cơ bản mà bạn có thể thực hiện trên dữ liệu.



Trong ngữ cảnh của PHP Laravel, các hoạt động CRUD được sử dụng để tương tác với cơ sở dữ liệu và thực hiện các hành động như tạo, đọc, cập nhật và xóa các bản ghi. Với Laravel Nova, việc điều hướng các hoạt động CRUD thật dễ dàng đối với nhóm của chúng tôi.


Công cụ này giúp giảm bớt cấu trúc của kiến trúc dữ liệu, do đó tiết kiệm nhiều thời gian cho việc phát triển ERP. Laravel Nova cung cấp tính năng xác thực tích hợp để đảm bảo dữ liệu được nhập chính xác và đáp ứng các tiêu chí cụ thể.


Điều này đã giúp chúng tôi làm cho hệ thống nhạy cảm với các lỗi. Theo cách đó, người dùng ứng dụng ERP ít có khả năng gửi dữ liệu sai hoặc không liên quan đến hệ thống.


Laravel Nova cũng hỗ trợ các mối quan hệ giữa các bảng cơ sở dữ liệu khác nhau, giúp đơn giản hóa quá trình thực hiện các thao tác CRUD trên dữ liệu liên quan. Điều này đặc biệt quan trọng đối với ứng dụng ERP vì nó liên quan đến cấu trúc dữ liệu phức tạp với nhiều bảng liên quan.


Các mối quan hệ giúp chúng tôi đảm bảo dữ liệu nhập vào hệ thống luôn nhất quán và chính xác. Ngoài ra, tính năng mối quan hệ cho phép các kỹ sư phần mềm của chúng tôi đơn giản hóa mã và giúp dễ bảo trì hơn theo thời gian.


Ngoài việc quản lý dữ liệu phù hợp, khách hàng nhấn mạnh rằng điều quan trọng đối với họ là tránh xóa hoàn toàn dữ liệu. Laravel Nova có thể giải quyết nhiệm vụ này chỉ trong tích tắc, nhờ tính năng gọi là xóa mềm.


Tính năng này cung cấp cho một phần tử dữ liệu cụ thể trạng thái bị loại trừ khỏi tập dữ liệu, nhưng phần tử đó vẫn được lưu trữ trong cơ sở dữ liệu.

Trường tùy chỉnh

Hệ thống ERP được sử dụng bởi nhiều bên liên quan, điều đó có nghĩa là rủi ro do lỗi của con người rất cao. Đó là lý do tại sao tính năng trường tùy chỉnh của Laravel Nova trở nên hữu ích.


Các trường tùy chỉnh trong Laravel Nova cho phép chúng tôi tạo và tùy chỉnh các trường trong bảng quản trị quan trọng đối với các yêu cầu dữ liệu của ứng dụng ERP.


Với các trường tùy chỉnh, nhóm của chúng tôi đã thêm các loại trường nhập liệu mới, tùy chỉnh cách hiển thị của các trường hiện có và tạo các loại trường phức tạp có thể được sử dụng để thu thập hoặc hiển thị dữ liệu.


Chúng tôi đã tạo các trường nhập liệu phù hợp với dữ liệu của hệ thống và cải thiện hiệu quả cũng như độ chính xác của các hoạt động CRUD.


Theo cách đó, việc nhập dữ liệu trong hệ thống ERP trở nên trực quan hơn đối với người dùng, trong khi chất lượng dữ liệu được cải thiện khi các định dạng đầu vào cụ thể và quy tắc xác thực được áp dụng.

Chính sách quản lý quyền

Chúng tôi đã đề cập rằng việc sử dụng hệ thống ERP có nghĩa là có sự tham gia của các bên khác nhau: nhân viên lưu trữ, tài xế, khách hàng, v.v. Vì lý do đó, điều quan trọng là phải cách ly tất cả các luồng người dùng để đảm bảo rằng các bên liên quan không can thiệp vào dữ liệu của nhau.


Tính năng chính sách đã giúp chúng tôi giải quyết nhiệm vụ này. Trong Laravel Nova, các chính sách là một tính năng cho phép xác định các quy tắc để kiểm soát quyền truy cập vào các phần khác nhau trong ứng dụng của bạn. Các chính sách xác định những hành động mà người dùng có thể thực hiện trên tài nguyên, dựa trên vai trò hoặc quyền của họ.


Nhờ tính năng này, các nhà phát triển của chúng tôi đã có thể tạo nhiều loại quyền cho từng người dùng. Việc triển khai các quyền vào hệ thống đã tránh được nhiều nhầm lẫn vì mỗi người dùng có quyền truy cập vào dữ liệu có liên quan đến họ.

Thuận tiện không đến mà không có thách thức

Mặc dù Laravel Nova là một công cụ thuận tiện để xây dựng bảng quản trị nhanh chóng và dễ dàng, vẫn có một rào cản lớn: các thành phần của bảng không thể tùy chỉnh hoàn toàn.


Công cụ này đã cung cấp một loạt các thành phần sẵn sàng sử dụng để phát triển các bảng quản trị thậm chí phức tạp, nhưng nhiều thành phần trong số đó đơn giản là không đáp ứng yêu cầu của chúng tôi.


Như thường xảy ra với việc sử dụng các giải pháp vượt trội, bạn trở thành tù nhân của họ. Trong giai đoạn cuối của quá trình phát triển, nhóm của chúng tôi đã gặp phải những thách thức trong việc tùy chỉnh nhiều thành phần vì Laravel Nova không tùy chỉnh chúng theo cách chúng tôi muốn.


Không còn nghi ngờ gì nữa, những thách thức này phần nào làm chậm tốc độ của quá trình phát triển.


Nhờ vào khả năng phát minh và sáng tạo của đội ngũ phát triển của chúng tôi, chúng tôi đã tìm ra những cách rõ ràng nhưng hiệu quả để làm cho ERP đáp ứng các yêu cầu của nó và trông giống như dự kiến.


Để thoát khỏi cái bẫy “giải pháp sẵn sàng hoạt động”, chúng tôi phải sử dụng Vue.js để làm cho giao diện của hệ thống trông giống hệt như đặc tả yêu cầu phần mềm đã nêu.


Laravel Nova đã lôi kéo chúng tôi sử dụng nó bằng cách cung cấp khả năng tùy chỉnh gần như vô tận, nhưng lẽ ra chúng tôi nên chạy một bản demo ngắn để xem liệu những khả năng đó có thực sự tuyệt vời như vậy trong thực tế hay không.


Tin tốt là các nhà phát triển phần mềm của chúng tôi đã giải quyết vấn đề bằng cách suy nghĩ vượt trội và tìm ra một lối thoát sáng tạo. Nhân tiện, ý định chơi chữ.

Laravel Nova có đáng để thử không?

Đúng nhưng…


Laravel Nova là một công cụ tốt để nhanh chóng xây dựng bảng quản trị, bất kể độ phức tạp của ứng dụng. Công cụ này đã giúp chúng tôi phát triển một bảng quản trị như vậy cho hệ thống ERP của khách hàng một cách công bằng và chính trực.


Khách hàng hài lòng với kết quả và thậm chí còn có kế hoạch mở rộng giải pháp để tối ưu hóa các quy trình trong các khía cạnh khác của hoạt động kinh doanh dược phẩm của họ.


Nhưng quyền tự do tùy chỉnh mọi nút sáng bóng và góc tối của bảng quản trị của bạn là điều khó nắm bắt. Điều này có nghĩa là bạn phải hoàn toàn chắc chắn rằng Laravel Nova sẽ phù hợp với dự án của bạn hoặc nhóm của bạn đủ sáng tạo và hiểu biết để giải quyết các vấn đề của các thành phần cứng đầu không thể tùy chỉnh.


Nhận định và bài học rút ra của chúng tôi: Laravel Nova là một công cụ khá hiệu quả để phát triển nhanh bảng quản trị, nhưng bạn nên chạy một bản demo ngắn để đảm bảo rằng bạn hoàn toàn hài lòng với những gì công cụ này có thể mang lại.