Elsevier 是科學出版領域資訊與分析的全球領導者,致力於協助研究人員與醫療專業人士推動科學發展,並改善健康成果,造福社會。
在 Prisma 的協助下,Elsevier 正以高效且靈活的方式推動科學出版流程的現代化。

為科學與醫療保健的進步做出貢獻
Elsevier 的使命是協助研究人員與醫療專業人士,這深植於出版業務中,並已發展成為資訊與分析領域的全球領導者。隨著海量的健康相關資訊即時共享,Elsevier 認為是時候將現有的手動同儕審查流程現代化並加快速度了。

建構一個加速同儕審查流程的應用程式,將有助於 Elsevier 保持其在醫療研究領域的領導地位。他們組成了一個小型專案團隊,成員包括 Serghei Ghidora(技術負責人)、Paul Foeckler(產品負責人)以及一位 UX 設計師,旨在開發一個最小可行性產品(MVP),讓同儕審查流程變得更快、更有效率。
以 Prisma 奠定堅實基礎
精簡一個極度仰賴人工且邏輯複雜的出版流程是一項艱鉅的任務。Serghei 深知,靈活性對於開發成功的 MVP 至關重要。
「快速推進並根據用戶回饋迅速調整產品的靈活性至關重要。」
GraphQL 提供了多用戶文件編輯所需的巢狀資料結構。作為專案中唯一的技術人員,Serghei 也明白他需要能夠消除重複性工作的工具。對於單一開發者而言,獨自處理定義、解析器 (Resolvers)、Schema 和模型是一項令人卻步的任務。
「獨自編寫所有這些代碼是非常繁重的工作。特別是因為你不是只寫一次。你會編寫、重構、修改。你會把沒用的東西扔進垃圾桶,因為它們行不通。你需要與用戶再次實驗。快速推進並快速變更的靈活性,這一點至關重要。」
在尋找與 GraphQL 搭配最佳且能儘可能減少手寫代碼的技術時,Serghei 發現了 Prisma with Nexus。透過使用 Prisma Client 與 Prisma Migrate,Serghei 為自己建立了一個以速度、開發者體驗和靈活性為核心的堅實基礎。
利用 Prisma Migrate 迅速回應用戶回饋
團隊希望每天都能與用戶溝通,以了解他們的需求,並確定哪些功能對於 MVP 來說是最高優先級。Serghei 使用 Prisma Migrate 自動產生可完全自訂的資料庫 Schema 遷移,這讓他有信心能夠快速且無負擔地實施變更。
根據用戶回饋,可能需要對資料庫進行變更,例如徹底移除或新增資料庫實體。若沒有 Prisma,這樣的變更會迫使 Serghei 花費更多時間在重構和錯誤處理上,而減少了創新的時間。
「談到資料模型實驗,處理遷移之類的事情簡直太棒了。你能在 Prisma 中新增或移除某些東西,然後執行遷移,Prisma 會自動完成所有事情。」
透過 Prisma Client 自信地保持靈活性
Prisma Client 的 TypeScript 體驗在開發過程中也至關重要,它確保了在進行變更後對代碼的信心。
「我認為是 Prisma 的本質為你提供了一種結構化事物的好方法。而且因為它是 TypeScript,對吧?所以你不會遺漏東西。你的前端應用程式類型始終與資料庫層面可用的內容保持同步。這非常重要。我認為這是未來可擴展性的關鍵因素,因為你可以讓兩端始終保持同步。」
Serghei 明白選擇能夠讓他保持速度,同時又能兼顧未來可擴展性的技術至關重要。
「我們現在正透過這個 MVP 處理真實的科學工作。儘管這已經是一個大型且複雜的產品,但 MVP 依然運作良好。現在幾乎沒有什麼會導致關鍵功能失效的 bug,因為核心架構做得非常好。而 Prisma 就是奠定該基礎的磚塊之一。」
事實證明,這種靈活性是單一技術負責人能在短短十個月內產出有意義產品的主要貢獻因素。
應用程式架構
除了 Prisma,Serghei 還利用了其他幾種技術來實現 MVP。專案結構如下所示,其中 Prisma 為多個應用程式提供型別。

Prisma & Nexus 套件包含 Prisma Schema、遷移以及所有在各個應用程式和服務中使用的已產生型別。Lambda 函式匯入 Prisma Client 並直接更新資源。這種安排使資料庫和前端型別保持同步,這得益於 Prisma Client 的型別安全資料庫存取。
由 Prisma 支援的 商業邏輯 (Business Logic) 套件為 GraphQL API Schema 和前端提供服務。Prisma 與 GraphQL 的結合確保了每次同儕審查僅回傳必要的資料。使用 TypeScript 編寫 API 和前端,增強了編寫資料庫存取時的信心,並能更快地交付功能更新。
如果 Schema 中出現毀滅性變更 (Breaking change),TypeScript 會在所有資料模型型別的實例上引發錯誤,從而可以在整個專案結構中輕鬆識別,進而獲得更流暢、更靈活的開發者體驗。
該 MVP 已在期刊出版工作流程中展現出更高的效率。Elsevier 有信心他們已具備合適的技術,能夠在目前的成果上進行擴展。
基於 Elsevier 的初步成功持續發展
基於初步成果,Elsevier 熱衷於繼續投入資金,實現出版流程的現代化。他們現在正將產品從 MVP 階段推向全面生產環境。
透過利用像 Prisma 這樣的工具,Elsevier 團隊可以建構更多實用的工具,以推動更多科學出版物進入線上審查流程。
想了解更多關於 Prisma 如何協助提升靈活性與生產力的資訊,請加入 Prisma Slack 社群。
不要錯過下一篇貼文!
訂閱 Prisma 電子報