Hacker News

Spring Boot Done Right: Nusɔsrɔ̃ tso 400-Module Codebase me

Nyaŋuɖoɖowo

14 min read Via medium.com

Mewayz Team

Editorial Team

Hacker News
<ŋutilã>

Spring Boot Done Right: Nusɔsrɔ̃ tso 400-Module Codebase me

Spring Boot ƒe ŋugbedodoa hea ame: dɔwɔwɔ kabakaba, ɖoɖowɔwɔ bɔbɔe, kple lãwo ƒe agbenɔnɔ ƒe ɖoɖo si me kesinɔnuwo le. Enaa ƒuƒoƒo suewo te ŋu tua microservices sẽŋuwo kple duƒuƒu si mexɔ se o. Gake nukae dzɔna ne kpɔɖeŋu gbãtɔ ma trɔ zu dɔwɔƒewo ƒe nuƒolanɔƒe si keke ta? Ne wò subɔsubɔdɔ ʋɛawo dzi ɖe edzi va zu monorepo si me modules alafa geɖe siwo nɔa te ɖe wo nɔewo dzi le? Afi siae wò xɔtuɖaŋu ŋuti nyametsotsowo ƒe dodokpɔ vavãtɔ dzea egɔme tsoe. Míezɔ tsi siawo tututu me, eye nusiwo míesrɔ̃ tso Spring Boot codebase si me module 400 le dzi kpɔkpɔ me nye masterclass le software development si li tegbee me.

Sti siwo le xɔtuɖoɖo si woate ŋu adzidzee me

Le eƒe gɔmedzedze la, codebase gã aɖe bia be woawɔ ɖoɖo si mewɔa tɔtrɔ o eye susu le eme. Ema manɔmee la, èwɔa "Jenga xɔ kɔkɔ" si me kɔdasi le—nu yeye ɖesiaɖe si woatsɔ akpe ɖe eŋu la ate ŋu ana nu bliboa naɖiɖi. Míaƒe gɔmeɖoanyi sɔtiwo nye modularization sesẽ kple liƒo siwo dzi wozi. Agbanɔamedzi ɖeka si woɖe nyuie nɔ module ɖesiaɖe si, eɖanye domenyiŋusẽfianu vevi aɖe, API ƒe tɔtrɔɖenu tɔxɛ aɖe, alo dɔwɔƒe si le eɖokui si o. Vevietɔ la, míeɖo nusiwo dzi woanɔ te ɖo ƒe nɔnɔmetata si me kɔ. Dɔwɔwɔ ƒe modules siwo le ɖoƒe kɔkɔwo ate ŋu anɔ te ɖe core domain libraries dzi, gake menye nenemae o. Esia xe mɔ na nusiwo dzi woanɔ te ɖo le gotagome eye wòkpɔ egbɔ be míaƒe asitsatsa ŋuti susu veviwo gakpɔtɔ le dzadzɛ eye wometsɔ xɔtuɖaŋuwo ƒe dzitsitsiwo o. Gɔmeɖose sia si nye xɔtuɖaŋu dzadzɛ la nye nusi ŋu womate ŋu awɔ ɖoɖo ɖo le eƒe lolome nu o.

Nuwɔwɔ ƒe Dɔwɔnawo Dzikpɔkpɔ ƒe Aɖaŋudzedze

Le module alafa geɖe ta la, ɖewohĩ nusiwo dzi woanɔ te ɖo kple tɔtrɔwo dzi kpɔkpɔ nye kuxi gãtɔ ɖeka kolia. Mɔnu si mesɔ o kplɔa ame yia "dependency hell," afisi agbalẽdzraɖoƒe ɖeka dodo ɖe ŋgɔ bia ŋkeke geɖe ƒe didi be woawɔ asitɔtrɔ le bubu gbogbo aɖewo ŋu woazu tɔtrɔ siwo sɔ. Míaƒe egbɔkpɔnuae nye Dɔwɔƒe bliboa ƒe Nuwo Ŋuti Se (BOM) sesẽ aɖe. BOM module ɖeka, dzila aɖe ɖe agbalẽdzraɖoƒe ɖesiaɖe si bɔ ƒe tɔtrɔ gɔme—Spring, dodokpɔ, nyatakakadzraɖoƒe ʋukulawo, kple bubuwo. Module bubu ɖesiaɖe si le codebase la me tsɔ BOM sia va, si na be ewɔ ɖeka bliboe. Esia trɔ ɖoɖo aɖe si ate ŋu anye zitɔtɔ wòzu dɔwɔwɔ si woate ŋu agblɔ ɖi, si dzi woate ŋu akpɔ ŋusẽ ɖo. Efia be míate ŋu ado platform’s Spring Boot version bliboa ɖe ŋgɔ kple kakaɖedzi, ke menye kple vɔvɔ̃ o.

Automation abe Akɔta ƒe Ƒuƒoƒo si le Ðekawɔwɔ me

Amegbetɔ ƒe vodada nye nusi womate ŋu aƒo asa na o, gake le codebase gã aɖe me la, vodada sue aɖe ateŋu akpɔ ripple effects gãwo. Míesrɔ̃ alesi míaka ɖe nuwo wɔwɔ le wo ɖokui si dzi wu nuléle ɖe susu me. Commit ɖesiaɖe he automated checks gbogbo aɖewo vɛ siwo wɔ ɖe míaƒe xɔtuɖaŋu ƒe dzidzenuwo dzi. Esia ƒe ɖewoe nye:

    ƒe nyawo
  • Static code analysis be woawɔ ɖe coding dzidzenuwo dzi eye woakpɔ anti-patterns.
  • Dodokpɔ siwo wowɔ le wo ɖokui si na module ɖesiaɖe, be woakpɔ egbɔ be tɔtrɔ aɖeke megbã nubabla siwo li xoxo o.
  • Nunɔamesi ƒe dodokpɔ siwo de dzesi tẽ ƒe tɔtrɔ ɖesiaɖe si woɖe ɖa menye tso titina BOM gbɔ o.
  • API ƒe ɖekawɔwɔ ƒe dodokpɔ sesẽwo na agbalẽdzraɖoƒe siwo woama be woaxe mɔ ɖe modules siwo le anyime ƒe gbagbã nu.
ƒe nyawo

Dziɖuɖu sia si wowɔna le wo ɖokui si lae nye aŋe si lé míaƒe lãwo ƒe agbenɔnɔ ƒe ɖoɖo sesẽ la ɖe te, si na be dɔwɔlawo te ŋu zɔna kabakaba evɔ womagbã nuwo na ame bubuwo o.

Akpa si Nuƒolanɔƒe Ðeka Wɔna

Togbɔ be xɔtuɖaŋu kple nuwo wɔwɔ le wo ɖokui si de blibo hã la, egahiã kokoko be dɔwɔlawo natrɔ asi le nya siwo ƒo xlã wo ŋu le dɔwɔnu manyaxlẽwo dome—Git nudzraɖoƒewo, CI/CD pɔmpiwo, issue trackers, kple deployment dashboards. Kakaɖedzi sia hea susu ƒe agba vɛ eye wònaa vidzidzia nɔa blewu. Esia tututue nye kuxi si wotu modular business OS abe Mewayz ene be wòakpɔ egbɔ. To mɔnu ɖekawɔwɔ si ƒoa ŋgɔyiyi ƒe agbenɔƒe bliboa nu ƒu nana me la, Mewayz ɖea mɔ na ƒuƒoƒowo be woƒe susu nanɔ nɔnɔmewo tutu ŋu le woƒe modules siwo woɖe nyuie me, tsɔ wu be woawɔ avu kple dɔwɔnuwo ƒe ƒoƒo ɖekae. Enye dɔwɔwɔ ƒe ƒuƒoƒo si kpena ɖe codebase dzadzɛ ŋu, si trɔa modules ƒe ƒuƒoƒo wòzua software dɔwɔƒe si wɔ ɖeka vavã eye wòwɔa dɔ nyuie.

💡 DID YOU KNOW?

Mewayz replaces 8+ business tools in one platform

CRM · Invoicing · HR · Projects · Booking · eCommerce · POS · Analytics. Free forever plan available.

Start Free →
ƒe nyawo Menye ɖoɖo gã aɖe tutu koe nye taɖodzinua o; enye be woatu ɖoɖo si gakpɔtɔ nye nusi woate ŋu atrɔ asi le eye gɔmesese le eŋu ne ele tsitsim gɔ̃ hã. Ele be xɔtuɖaŋua nanye nunɔamesi, ke menye agbanɔamedzi o.
ƒe nyawo

Mɔzɔzɔ tso Spring Boot dɔwɔɖoɖo bɔbɔe aɖe dzi yi monolith gã aɖe si me modules geɖe le gbɔ la yɔ fũ kple mɔ̃ siwo ate ŋu ado mo ɖa. Gake ne èlé xɔtuɖaŋu dzadzɛ ƒe gɔmeɖosewo me ɖe asi, èwɔ nusiwo dzi woanɔ te ɖo dzi kpɔkpɔ nublanuimakpɔmakpɔtɔe, axɔ nuwo wɔwɔ le wo ɖokui si si me nusianu le, eye nèwɔ mɔ̃ siwo wɔ ɖeka ŋudɔ la, àte ŋu atu kɔdaɖoɖo si adzidze menye le eƒe lolome ɖeɖeko me o, ke boŋ le lãmesẽ kple beléle na wo me. Nusi dona tso emee nye nuƒolanɔƒe si yi edzi na nu yeyewo dodo ɖe ŋgɔ, tsɔ wu be wòaxe mɔ ɖe enu.

ƒe nyawo

Nyabiase Siwo Wobiana Enuenu

Spring Boot Done Right: Nusɔsrɔ̃ tso 400-Module Codebase me

Spring Boot ƒe ŋugbedodoa hea ame: dɔwɔwɔ kabakaba, ɖoɖowɔwɔ bɔbɔe, kple lãwo ƒe agbenɔnɔ ƒe ɖoɖo si me kesinɔnuwo le. Enaa ƒuƒoƒo suewo te ŋu tua microservices sẽŋuwo kple duƒuƒu si mexɔ se o. Gake nukae dzɔna ne kpɔɖeŋu gbãtɔ ma trɔ zu dɔwɔƒewo ƒe nuƒolanɔƒe si keke ta? Ne wò subɔsubɔdɔ ʋɛawo dzi ɖe edzi va zu monorepo si me modules alafa geɖe siwo nɔa te ɖe wo nɔewo dzi le? Afi siae wò xɔtuɖaŋu ŋuti nyametsotsowo ƒe dodokpɔ vavãtɔ dzea egɔme tsoe. Míezɔ tsi siawo tututu me, eye nusiwo míesrɔ̃ tso Spring Boot codebase si me module 400 le dzi kpɔkpɔ me nye masterclass le software development si li tegbee me.

Sti siwo le xɔtuɖoɖo si woate ŋu adzi ɖe edzi

Le eƒe gɔmedzedze la, codebase gã aɖe bia be woawɔ ɖoɖo si mewɔa tɔtrɔ o eye susu le eme. Ema manɔmee la, èwɔa "Jenga xɔ kɔkɔ" si me kɔdasi le—nu yeye ɖesiaɖe si woatsɔ akpe ɖe eŋu la ate ŋu ana nu bliboa naɖiɖi. Míaƒe gɔmeɖoanyi sɔtiwo nye modularization sesẽ kple liƒo siwo dzi wozi. Agbanɔamedzi ɖeka si woɖe nyuie nɔ module ɖesiaɖe si, eɖanye domenyiŋusẽfianu vevi aɖe, API ƒe tɔtrɔɖenu tɔxɛ aɖe, alo dɔwɔƒe si le eɖokui si o. Vevietɔ la, míeɖo nusiwo dzi woanɔ te ɖo ƒe nɔnɔmetata si me kɔ. Dɔwɔwɔ ƒe modules siwo le ɖoƒe kɔkɔwo ate ŋu anɔ te ɖe core domain libraries dzi, gake menye nenemae o. Esia xe mɔ na nusiwo dzi woanɔ te ɖo le gotagome eye wòkpɔ egbɔ be míaƒe asitsatsa ŋuti susu veviwo gakpɔtɔ le dzadzɛ eye wometsɔ xɔtuɖaŋuwo ƒe dzitsitsiwo o. Gɔmeɖose sia si nye xɔtuɖaŋu dzadzɛ la nye nusi ŋu womate ŋu awɔ ɖoɖo ɖo le eƒe lolome nu o.

Nuwɔwɔ ƒe Dɔwɔnawo Dzikpɔkpɔ ƒe Aɖaŋudzedze

Le module alafa geɖe ta la, ɖewohĩ nusiwo dzi woanɔ te ɖo kple tɔtrɔwo dzi kpɔkpɔ nye kuxi gãtɔ ɖeka kolia. Mɔnu si mesɔ o kplɔa ame yia "dependency hell," afisi agbalẽdzraɖoƒe ɖeka dodo ɖe ŋgɔ bia ŋkeke geɖe ƒe didi be woawɔ asitɔtrɔ le bubu gbogbo aɖewo ŋu woazu tɔtrɔ siwo sɔ. Míaƒe egbɔkpɔnuae nye Dɔwɔƒe bliboa ƒe Nuwo Ŋuti Se (BOM) sesẽ aɖe. BOM module ɖeka, dzila aɖe ɖe agbalẽdzraɖoƒe ɖesiaɖe si bɔ ƒe tɔtrɔ gɔme—Spring, dodokpɔ, nyatakakadzraɖoƒe ʋukulawo, kple bubuwo. Module bubu ɖesiaɖe si le codebase la me tsɔ BOM sia va, si na be ewɔ ɖeka bliboe. Esia trɔ ɖoɖo aɖe si ate ŋu anye zitɔtɔ wòzu dɔwɔwɔ si woate ŋu agblɔ ɖi, si dzi woate ŋu akpɔ ŋusẽ ɖo. Efia be míate ŋu ado platform’s Spring Boot version bliboa ɖe ŋgɔ kple kakaɖedzi, ke menye kple vɔvɔ̃ o.

Automation abe Akɔta na Nusiwo Wowɔna Ðekae

Amegbetɔ ƒe vodada nye nusi womate ŋu aƒo asa na o, gake le codebase gã aɖe me la, vodada sue aɖe ateŋu akpɔ ripple effects gãwo. Míesrɔ̃ alesi míaka ɖe nuwo wɔwɔ le wo ɖokui si dzi wu nuléle ɖe susu me. Commit ɖesiaɖe he automated checks gbogbo aɖewo vɛ siwo wɔ ɖe míaƒe xɔtuɖaŋu ƒe dzidzenuwo dzi. Esia ƒe ɖewoe nye:

Akpa si Nuƒolanɔƒe Ðeka Wɔna

Togbɔ be xɔtuɖaŋu kple nuwo wɔwɔ le wo ɖokui si de blibo hã la, egahiã kokoko be dɔwɔlawo natrɔ asi le nya siwo ƒo xlã wo ŋu le dɔwɔnu manyaxlẽwo dome—Git nudzraɖoƒewo, CI/CD pɔmpiwo, issue trackers, kple deployment dashboards. Kakaɖedzi sia hea susu ƒe agba vɛ eye wònaa vidzidzia nɔa blewu. Esia tututue nye kuxi si wotu modular business OS abe Mewayz ene be wòakpɔ egbɔ. To mɔnu ɖekawɔwɔ si ƒoa ŋgɔyiyi ƒe agbenɔƒe bliboa nu ƒu nana me la, Mewayz ɖea mɔ na ƒuƒoƒowo be woƒe susu nanɔ nɔnɔmewo tutu ŋu le woƒe modules siwo woɖe nyuie me, tsɔ wu be woawɔ avu kple dɔwɔnuwo ƒe ƒoƒo ɖekae. Enye dɔwɔwɔ ƒe ƒuƒoƒo si kpena ɖe codebase dzadzɛ ŋu, si trɔa modules ƒe ƒuƒoƒo wòzua software dɔwɔƒe si wɔ ɖeka vavã eye wòwɔa dɔ nyuie.

Tu Wò Dɔwɔƒe ƒe OS Egbea

Tso dɔwɔla siwo le wo ɖokui si dzi va ɖo dɔwɔƒewo dzi la, Mewayz naa ŋusẽ asitsaha 138,000+ kple modules 208 siwo wotsɔ wɔ ɖekae. Dze egɔme femaxee, do ŋgɔ ne ètsi.

Wɔ Akɔntabubu Femaxee →
ƒe nyawo

Try Mewayz Free

All-in-one platform for CRM, invoicing, projects, HR & more. No credit card required.

Start managing your business smarter today

Join 30,000+ businesses. Free forever plan · No credit card required.

Ready to put this into practice?

Join 30,000+ businesses using Mewayz. Free forever plan — no credit card required.

Start Free Trial →

Ready to take action?

Start your free Mewayz trial today

All-in-one business platform. No credit card required.

Start Free →

14-day free trial · No credit card · Cancel anytime