[{"data":1,"prerenderedAt":-1},["ShallowReactive",2],{"page--\u002Fblog\u002Farticle":3,"blog-detail":59,"317e8e2a-912c-49a3-98d2-832985198aa9":901,"d455843b-a9b6-427f-b7e5-b64fe751b50d":905,"da6dfaaa-71b1-4e6b-b16e-5b5acfb472f7":1748,"cc183043-092c-426d-9587-4fc6db361342":1756,"d2f3b98a-eb5e-4096-8e79-21a62358df4b":1792,"cde563a8-ddf2-4083-8be6-2d7fe4e82167":1870,"a080278f-f5c2-4d0e-ba3f-677da008dae4":1909,"bc5d6217-b80c-499b-91a7-1dbca7208203":1928,"related-blogs":1957},{"id":4,"name":5,"seo":6,"status":8,"schema":9,"template":10,"sections":47,"redirect":58},"289e4d80-4fe0-4497-8225-40d2b6d0fd37","Article ",{"title":7},"Article","published",[],{"name":11,"start_sections":12,"end_sections":18},"Default",[13],{"collection":14,"id":15,"item":16},"section_harsh",1,{"id":17},"d455843b-a9b6-427f-b7e5-b64fe751b50d",[19,24,29,33,38,43],{"collection":20,"id":21,"item":22},"section_pinky",32,{"id":23},"da6dfaaa-71b1-4e6b-b16e-5b5acfb472f7",{"collection":25,"id":26,"item":27},"section_janak",30,{"id":28},"d2f3b98a-eb5e-4096-8e79-21a62358df4b",{"collection":25,"id":30,"item":31},31,{"id":32},"cc183043-092c-426d-9587-4fc6db361342",{"collection":34,"id":35,"item":36},"section_hem",2,{"id":37},"bc5d6217-b80c-499b-91a7-1dbca7208203",{"collection":39,"id":40,"item":41},"section_dhruv",3,{"id":42},"cde563a8-ddf2-4083-8be6-2d7fe4e82167",{"collection":44,"id":15,"item":45},"section_bhavin",{"id":46},"a080278f-f5c2-4d0e-ba3f-677da008dae4",[48,53],{"collection":49,"id":50,"item":51},"section_bhargav",5576,{"id":52},"1b3ea167-b557-47ad-996c-6eeb0bcf3c08",{"collection":54,"id":55,"item":56},"section_krusha",5606,{"id":57},"317e8e2a-912c-49a3-98d2-832985198aa9",[],{"data":60},[61],{"id":62,"title":63,"date_published":64,"summary":65,"seo_description":66,"update_date":65,"tags":67,"cover":73,"sections":76,"author":876,"category":65,"og_image":888,"color_primary":889},"6d85b24c-94a2-41e0-b4da-f03313fce6e3","Testing Java Apps Like a Pro: JUnit 5, Mockito & Testcontainers","2026-02-10",null,"Learn what really changed from JUnit 4 to JUnit 5 and how to use Mockito, integration tests, and Testcontainers to test Java apps like production.",[68],{"bg_tags_id":69},{"label":70,"slug":71,"id":72},"Developer Insights","developer-insights","9b9bbc1a-a554-431f-bfab-d421484a8695",{"id":74,"filename_disk":75},"7bca449b-fef8-4024-bb2d-ad27d69f5f61","7bca449b-fef8-4024-bb2d-ad27d69f5f61.webp",[77,819],{"collection":78,"item":79},"bg_sections_content_blocks",{"id":80,"name":81,"content":82,"metadata":813},"c687188d-fa3d-4f05-a4cc-ca492bd30fca","Body",{"time":83,"blocks":84,"version":812},1770643810167,[85,93,99,106,112,118,124,130,145,151,157,170,177,193,199,205,211,217,222,228,234,238,244,250,272,278,284,290,296,300,306,322,328,334,340,344,350,363,369,375,381,391,397,413,417,423,427,433,439,445,451,457,479,485,489,495,501,507,513,519,538,544,548,554,567,573,579,585,591,601,607,625,631,644,650,656,662,666,672,676,682,688,694,700,710,716,722,728,734,740,746,759,765,781,787,800,806],{"id":86,"data":87,"type":89,"tunes":90},"48SZRZPcUA",{"text":88},"If you’re still treating JUnit 5 as “JUnit 4 with new annotations”, you’re missing the real upgrade.","paragraph",{"alignment":91},{"alignment":92},"left",{"id":94,"data":95,"type":89,"tunes":97},"I5drQJzg9o",{"text":96},"JUnit 5 didn’t just change syntax - it changed how Java testing scales in real-world, enterprise codebases.This guide explains what actually matters when moving from JUnit 4 to JUnit 5, and how to combine Mockito, integration tests, and Testcontainers into a testing strategy that mirrors production.",{"alignment":98},{"alignment":92},{"id":100,"data":101,"type":103,"tunes":104},"DTTQvZEWDd",{"text":102,"level":35},"What Really Changed From JUnit 4 to JUnit 5 (Developer POV)","header",{"alignment":105},{"alignment":92},{"id":107,"data":108,"type":89,"tunes":110},"JD_TM_CLBL",{"text":109},"You’ll often hear:",{"alignment":111},{"alignment":92},{"id":113,"data":114,"type":89,"tunes":116},"fN9YzM2-Bi",{"text":115},"“JUnit 5 is just JUnit 4 with new annotations.”",{"alignment":117},{"alignment":92},{"id":119,"data":120,"type":89,"tunes":122},"YxEF9OGLyL",{"text":121},"That’s only half-true.",{"alignment":123},{"alignment":92},{"id":125,"data":126,"type":103,"tunes":128},"19decGRy91",{"text":127,"level":40},"JUnit 4: One Monolithic Engine",{"alignment":129},{"alignment":92},{"id":131,"data":132,"type":144},"ORkMct6BbR",{"items":133,"style":143},[134,137,140],{"items":135,"content":136},[],"One runner",{"items":138,"content":139},[],"One execution model",{"items":141,"content":142},[],"If something breaks → everything breaks","unordered","nestedlist",{"id":146,"data":147,"type":103,"tunes":149},"xG8-WLJnGv",{"text":148,"level":40},"JUnit 5: A Modular Architecture",{"alignment":150},{"alignment":92},{"id":152,"data":153,"type":89,"tunes":155},"ltzkRJmxfm",{"text":154},"JUnit 5 is split into three independent layers:",{"alignment":156},{"alignment":92},{"id":158,"data":159,"type":144},"sXB_-F4nyY",{"items":160,"style":143},[161,164,167],{"items":162,"content":163},[],"JUnit Platform → Executes tests",{"items":165,"content":166},[],"JUnit Jupiter → Modern JUnit 5 API",{"items":168,"content":169},[],"JUnit Vintage → Backward compatibility for JUnit 4",{"id":171,"data":172,"type":103,"tunes":175},"YSuU9Mut0A",{"text":173,"level":174},"Why this matters in real projects",4,{"alignment":176},{"alignment":92},{"id":178,"data":179,"type":144},"S82EmlZH6v",{"items":180,"style":143},[181,184,187,190],{"items":182,"content":183},[],"IDEs behave consistently",{"items":185,"content":186},[],"Tooling integrates better",{"items":188,"content":189},[],"Multiple test engines can coexist",{"items":191,"content":192},[],"You aren’t locked into a single testing style",{"id":194,"data":195,"type":89,"tunes":197},"zigqTcmPFM",{"text":196},"Result: Cleaner architecture, better extensibility, fewer brittle test setups.",{"alignment":198},{"alignment":92},{"id":200,"data":201,"type":89,"tunes":203},"NBwlX1G5Yh",{"text":202},"These limitations become obvious in real-world systems. In production-grade services similar to those shown in \u003Ca href=\"https:\u002F\u002F7span.com\u002Fblog\u002Fjava-applications-examples\">Java Applications Examples\u003C\u002Fa>, brittle test execution models quickly become a bottleneck as teams and codebases grow.",{"alignment":204},{"alignment":92},{"id":206,"data":207,"type":103,"tunes":209},"rVdDbfkio1",{"text":208,"level":35},"Extensions: The Biggest Upgrade Over Runners",{"alignment":210},{"alignment":92},{"id":212,"data":213,"type":103,"tunes":215},"rZ8i_QNOqf",{"text":214,"level":40},"JUnit 4 Approach",{"alignment":216},{"alignment":92},{"id":218,"data":219,"type":221},"7cyL9_lKPE",{"code":220},"@RunWith(SpringRunner.class)","code",{"id":223,"data":224,"type":89,"tunes":226},"AnHfHzqc0_",{"text":225},"Problem: You could only use one runner per test class.",{"alignment":227},{"alignment":92},{"id":229,"data":230,"type":103,"tunes":232},"qBRwDyZWoq",{"text":231,"level":40},"JUnit 5 Solution",{"alignment":233},{"alignment":92},{"id":235,"data":236,"type":221},"iSyqKvBKGG",{"code":237},"@ExtendWith(SpringExtension.class)",{"id":239,"data":240,"type":89,"tunes":242},"JT7ScO151e",{"text":241},"Now you can stack multiple extensions.",{"alignment":243},{"alignment":92},{"id":245,"data":246,"type":103,"tunes":248},"UHZbMLiXg7",{"text":247,"level":40},"Real-World Use Cases",{"alignment":249},{"alignment":92},{"id":251,"data":252,"type":144},"UboOuK9tKE",{"items":253,"style":143},[254,257,260,263,266,269],{"items":255,"content":256},[],"Mocking support",{"items":258,"content":259},[],"Database lifecycle management",{"items":261,"content":262},[],"Logging hooks",{"items":264,"content":265},[],"Retry logic",{"items":267,"content":268},[],"Custom parameter resolvers",{"items":270,"content":271},[],"Cross-cutting test concerns",{"id":273,"data":274,"type":89,"tunes":276},"d1Qb3FVU6O",{"text":275},"Instead of hacking runners together, you compose behavior.This is the single biggest improvement for enterprise-scale testing.",{"alignment":277},{"alignment":92},{"id":279,"data":280,"type":103,"tunes":282},"nXHeHlXoq6",{"text":281,"level":35},"Parameterized Tests: Finally Worth Using",{"alignment":283},{"alignment":92},{"id":285,"data":286,"type":89,"tunes":288},"E-eK_3dqCV",{"text":287},"JUnit 4 technically supported parameterized tests - but most teams avoided them.",{"alignment":289},{"alignment":92},{"id":291,"data":292,"type":89,"tunes":294},"OW1crjI3sA",{"text":293},"JUnit 5 fixed that.",{"alignment":295},{"alignment":92},{"id":297,"data":298,"type":221},"LyH9aMB5eT",{"code":299},"@ParameterizedTest\n\n@ValueSource(strings = {\"A1\", \"B2\", \"C3\"})\n\nvoid codeShouldBeValid(String code) {\n\n    assertEquals(2, code.length());\n\n}",{"id":301,"data":302,"type":103,"tunes":304},"9z_xjm4lwP",{"text":303,"level":40},"Where They Shine",{"alignment":305},{"alignment":92},{"id":307,"data":308,"type":144},"yLhmboRO-T",{"items":309,"style":143},[310,313,316,319],{"items":311,"content":312},[],"Validation rules",{"items":314,"content":315},[],"Edge cases",{"items":317,"content":318},[],"Date and format handling",{"items":320,"content":321},[],"Boundary testing",{"id":323,"data":324,"type":89,"tunes":326},"9mtgdmEU47",{"text":325},"Outcome: No copy-paste tests. Cleaner suites. Better coverage with less noise.",{"alignment":327},{"alignment":92},{"id":329,"data":330,"type":103,"tunes":332},"qOF6Xf5jL8",{"text":331,"level":35},"Nested Tests: Tests That Read Like Documentation",{"alignment":333},{"alignment":92},{"id":335,"data":336,"type":89,"tunes":338},"JPb1aEpUTZ",{"text":337},"Nested tests let you structure behavior, not just methods.",{"alignment":339},{"alignment":92},{"id":341,"data":342,"type":221},"fdWmz_MaX-",{"code":343},"class OrderServiceTest {\n\n    @Nested\n    class WhenPlacingOrder {\n\n        @Test\n        void shouldSucceedWhenPaymentPasses() {}\n\n        @Test\n        void shouldFailWhenPaymentDeclines() {}\n    }\n}\n",{"id":345,"data":346,"type":103,"tunes":348},"qpAEArIJrH",{"text":347,"level":40},"Why This Matters",{"alignment":349},{"alignment":92},{"id":351,"data":352,"type":144},"F4xPixtEbd",{"items":353,"style":143},[354,357,360],{"items":355,"content":356},[],"Logical grouping",{"items":358,"content":359},[],"Faster debugging",{"items":361,"content":362},[],"Business-flow readability",{"id":364,"data":365,"type":89,"tunes":367},"okUMR4t8Sw",{"text":366},"In larger domains, structure is the difference between maintainable tests and chaos.",{"alignment":368},{"alignment":92},{"id":370,"data":371,"type":103,"tunes":373},"HVJJ_Ixqin",{"text":372,"level":35},"Mockito: Powerful, But Easy to Abuse",{"alignment":374},{"alignment":92},{"id":376,"data":377,"type":89,"tunes":379},"IWe5Setmom",{"text":378},"Most teams fall into one of two traps:",{"alignment":380},{"alignment":92},{"id":382,"data":383,"type":144},"rhY0z-2NeS",{"items":384,"style":143},[385,388],{"items":386,"content":387},[],"Mock everything",{"items":389,"content":390},[],"Mock nothing",{"id":392,"data":393,"type":103,"tunes":395},"GIEZbGwM5X",{"text":394,"level":40},"When Mocking Is Correct",{"alignment":396},{"alignment":92},{"id":398,"data":399,"type":144},"xT46fNK2rV",{"items":400,"style":143},[401,404,407,410],{"items":402,"content":403},[],"External systems",{"items":405,"content":406},[],"APIs",{"items":408,"content":409},[],"Databases",{"items":411,"content":412},[],"Third-party services",{"id":414,"data":415,"type":221},"9Rf96hdxNh",{"code":416},"when(paymentClient.charge(any())).thenReturn(true);",{"id":418,"data":419,"type":103,"tunes":421},"BCAJUGBA9x",{"text":420,"level":40},"When Mocking Is a Smell",{"alignment":422},{"alignment":92},{"id":424,"data":425,"type":221},"8NV9qD1qWn",{"code":426},"when(order.getTotal()).thenReturn(100);",{"id":428,"data":429,"type":89,"tunes":431},"FachIqfI-k",{"text":430},"If you need to mock your own domain logic, your design is likely wrong.",{"alignment":432},{"alignment":92},{"id":434,"data":435,"type":89,"tunes":437},"QgEU5aMEEz",{"text":436},"Rule of thumb:Mock boundaries, not behavior.",{"alignment":438},{"alignment":92},{"id":440,"data":441,"type":103,"tunes":443},"Y8O37z-1Yh",{"text":442,"level":35},"Integration Tests: Where Real Bugs Live",{"alignment":444},{"alignment":92},{"id":446,"data":447,"type":89,"tunes":449},"oFH3ZA4lSL",{"text":448},"Unit tests prove logic.Integration tests prove reality.",{"alignment":450},{"alignment":92},{"id":452,"data":453,"type":89,"tunes":455},"h-yKSdwaRi",{"text":454},"They validate:",{"alignment":456},{"alignment":92},{"id":458,"data":459,"type":144},"NUDDW6P_sS",{"items":460,"style":143},[461,464,467,470,473,476],{"items":462,"content":463},[],"Wiring",{"items":465,"content":466},[],"Serialization",{"items":468,"content":469},[],"Validation",{"items":471,"content":472},[],"Security",{"items":474,"content":475},[],"Error handling",{"items":477,"content":478},[],"Database behavior",{"id":480,"data":481,"type":103,"tunes":483},"yGMPKnc4dX",{"text":482,"level":40},"Realistic Spring Boot Integration Test",{"alignment":484},{"alignment":92},{"id":486,"data":487,"type":221},"yquSiF7lPz",{"code":488},"@SpringBootTest\n\n@AutoConfigureMockMvc\n\nclass UserApiTest {\n\n    @Autowired\n\n    MockMvc mockMvc;\n\n    @Test\n\n    void shouldReturnUserById() throws Exception {\n\n        mockMvc.perform(get(\"\u002Fusers\u002F1\"))\n\n               .andExpect(status().isOk())\n\n               .andExpect(jsonPath(\"$.id\").value(1));\n\n    }\n\n}",{"id":490,"data":491,"type":89,"tunes":493},"kQb5lZDB56",{"text":492},"This simulates a real HTTP request - no Postman, no guesswork.",{"alignment":494},{"alignment":92},{"id":496,"data":497,"type":89,"tunes":499},"krMSfO0opf",{"text":498},"This is especially critical in large-scale systems common in \u003Ca href=\"https:\u002F\u002F7span.com\u002Fblog\u002Fenterprise-application-development\">Enterprise Application Development\u003C\u002Fa>, where multiple services, databases, and teams interact across environments.",{"alignment":500},{"alignment":92},{"id":502,"data":503,"type":103,"tunes":505},"Q-QPvnE5zm",{"text":504,"level":35},"Testcontainers: Stop Lying to Yourself With H2",{"alignment":506},{"alignment":92},{"id":508,"data":509,"type":89,"tunes":511},"ARl62Jk54K",{"text":510},"H2 ≠ Production DB.",{"alignment":512},{"alignment":92},{"id":514,"data":515,"type":89,"tunes":517},"1em4D95J-9",{"text":516},"Common issues H2 hides:",{"alignment":518},{"alignment":92},{"id":520,"data":521,"type":144},"y0E1Z8iqeI",{"items":522,"style":143},[523,526,529,532,535],{"items":524,"content":525},[],"Broken migrations",{"items":527,"content":528},[],"SQL incompatibilities",{"items":530,"content":531},[],"Timezone bugs",{"items":533,"content":534},[],"UUID behavior",{"items":536,"content":537},[],"Collation differences",{"id":539,"data":540,"type":103,"tunes":542},"SJt6vg-JNb",{"text":541,"level":40},"Testcontainers Fix This",{"alignment":543},{"alignment":92},{"id":545,"data":546,"type":221},"iZ15AnKEkg",{"code":547},"static PostgreSQLContainer\u003C?> postgres =\n\n    new PostgreSQLContainer\u003C>(\"postgres:16\");",{"id":549,"data":550,"type":89,"tunes":552},"ygQg6vKott",{"text":551},"You now test against:",{"alignment":553},{"alignment":92},{"id":555,"data":556,"type":144},"GzAt_WgOFY",{"items":557,"style":143},[558,561,564],{"items":559,"content":560},[],"Real Postgres \u002F MySQL",{"items":562,"content":563},[],"Zero local setup",{"items":565,"content":566},[],"Identical behavior to production",{"id":568,"data":569,"type":89,"tunes":571},"IeOMq_83M0",{"text":570},"Teams routinely save weeks of debugging after switching.",{"alignment":572},{"alignment":92},{"id":574,"data":575,"type":103,"tunes":577},"oBP0TmhnSx",{"text":576,"level":35},"Code Coverage: Let’s Be Honest",{"alignment":578},{"alignment":92},{"id":580,"data":581,"type":89,"tunes":583},"1s9vSV5-2V",{"text":582},"Target range: 70–80%",{"alignment":584},{"alignment":92},{"id":586,"data":587,"type":89,"tunes":589},"aOov4gxkaW",{"text":588},"But remember:",{"alignment":590},{"alignment":92},{"id":592,"data":593,"type":144},"cYRgaKeNa0",{"items":594,"style":143},[595,598],{"items":596,"content":597},[],"100% coverage ≠ quality",{"items":599,"content":600},[],"High coverage can hide meaningless tests",{"id":602,"data":603,"type":103,"tunes":605},"GidA5kAE5L",{"text":604,"level":40},"What Actually Deserves Coverage",{"alignment":606},{"alignment":92},{"id":608,"data":609,"type":144},"PH8Omn80mo",{"items":610,"style":143},[611,614,616,619,622],{"items":612,"content":613},[],"Business logic",{"items":615,"content":315},[],{"items":617,"content":618},[],"Validations",{"items":620,"content":621},[],"Database interactions",{"items":623,"content":624},[],"Error scenarios",{"id":626,"data":627,"type":89,"tunes":629},"lrF6w6jhvl",{"text":628},"Skip:",{"alignment":630},{"alignment":92},{"id":632,"data":633,"type":144},"-qIu_JKp3q",{"items":634,"style":143},[635,638,641],{"items":636,"content":637},[],"Getters\u002Fsetters",{"items":639,"content":640},[],"Boilerplate",{"items":642,"content":643},[],"Framework glue",{"id":645,"data":646,"type":89,"tunes":648},"352TR3zM1i",{"text":647},"If a test feels pointless - it probably is.",{"alignment":649},{"alignment":92},{"id":651,"data":652,"type":103,"tunes":654},"FjuJqD2nBl",{"text":653,"level":35},"Common Testing Mistakes in Real Projects",{"alignment":655},{"alignment":92},{"id":657,"data":658,"type":103,"tunes":660},"nzDQZFNlLJ",{"text":659,"level":40},"❌ Bad Test Names",{"alignment":661},{"alignment":92},{"id":663,"data":664,"type":221},"trZYl87mBG",{"code":665},"test1()",{"id":667,"data":668,"type":103,"tunes":670},"icnrlZxBDS",{"text":669,"level":40},"✅ Behavior-Based Names",{"alignment":671},{"alignment":92},{"id":673,"data":674,"type":221},"u1lcK_lzKO",{"code":675},"shouldCreateUserWhenDataIsValid()",{"id":677,"data":678,"type":103,"tunes":680},"9vbyusgUDt",{"text":679,"level":40},"❌ Mocking Everything",{"alignment":681},{"alignment":92},{"id":683,"data":684,"type":89,"tunes":686},"koQajOoeEx",{"text":685},"If your tests still pass when the DB is broken, they don’t protect you.",{"alignment":687},{"alignment":92},{"id":689,"data":690,"type":103,"tunes":692},"GZoRJm7Vsv",{"text":691,"level":40},"❌ Only Integration Tests",{"alignment":693},{"alignment":92},{"id":695,"data":696,"type":89,"tunes":698},"BMDqQRjsf8",{"text":697},"You need both:",{"alignment":699},{"alignment":92},{"id":701,"data":702,"type":144},"ltZO9dB3F3",{"items":703,"style":143},[704,707],{"items":705,"content":706},[],"Fast unit tests",{"items":708,"content":709},[],"Focused integration tests",{"id":711,"data":712,"type":103,"tunes":714},"AKm-On9648",{"text":713,"level":40},"❌ Treating Tests as Second-Class Code",{"alignment":715},{"alignment":92},{"id":717,"data":718,"type":89,"tunes":720},"rkYEUBtWky",{"text":719},"Messy tests → fragile systems.",{"alignment":721},{"alignment":92},{"id":723,"data":724,"type":103,"tunes":726},"KY-XeBDcG4",{"text":725,"level":35},"Final Thoughts",{"alignment":727},{"alignment":92},{"id":729,"data":730,"type":89,"tunes":732},"uK4Fu82jtt",{"text":731},"Teams that treat testing as an engineering practice consistently ship faster and safer. This is why experienced teams like those behind our&nbsp;\u003Ca href=\"https:\u002F\u002F7span.com\u002Fhire-java-developers\">Java development services\u003C\u002Fa>&nbsp;design testing strategies alongside architecture, not after deployment.&nbsp;",{"alignment":733},{"alignment":92},{"id":735,"data":736,"type":89,"tunes":738},"AHKOvJmmnP",{"text":737}," Good testing isn’t about tools. It’s about confidence.",{"alignment":739},{"alignment":92},{"id":741,"data":742,"type":89,"tunes":744},"Z9SHsKHq4y",{"text":743},"Confidence to:",{"alignment":745},{"alignment":92},{"id":747,"data":748,"type":144},"IC0u44uEAw",{"items":749,"style":143},[750,753,756],{"items":751,"content":752},[],"Refactor",{"items":754,"content":755},[],"Ship faster",{"items":757,"content":758},[],"Sleep at night",{"id":760,"data":761,"type":89,"tunes":763},"nfQh4Yj5Oa",{"text":762},"JUnit 5 makes this easier through:",{"alignment":764},{"alignment":92},{"id":766,"data":767,"type":144},"5BkDLSKNYv",{"items":768,"style":143},[769,772,775,778],{"items":770,"content":771},[],"Modular architecture",{"items":773,"content":774},[],"Extension-based design",{"items":776,"content":777},[],"Better structure",{"items":779,"content":780},[],"Cleaner parameterized tests",{"id":782,"data":783,"type":89,"tunes":785},"asZHkN0o5k",{"text":784},"When you combine:",{"alignment":786},{"alignment":92},{"id":788,"data":789,"type":144},"qVtKAGYE7M",{"items":790,"style":143},[791,794,797],{"items":792,"content":793},[],"Mockito",{"items":795,"content":796},[],"Integration tests",{"items":798,"content":799},[],"Testcontainers",{"id":801,"data":802,"type":89,"tunes":804},"415HkBhRYG",{"text":803},"You get a testing setup that actually matches production.",{"alignment":805},{"alignment":92},{"id":807,"data":808,"type":89,"tunes":810},"MSAipcvTaW",{"text":809},"And that’s the goal. Always.",{"alignment":811},{"alignment":92},"2.28.2",{"title":814,"id":815,"component":816},"Editor Renderer","b20b790f-9bf7-4fe4-a500-220d9752c67a",{"name":817,"id":818},"sections-blog-editor","8f082246-494c-41a1-b796-da33c0cc1e2e",{"collection":820,"item":821},"bg_sections_faqs",{"id":822,"title":823,"subtitle":65,"status":824,"faqs":825},"877d4222-1adf-46d1-b8df-2b23eef4d12b","\u003Ch2>FAQs\u003C\u002Fh2>","draft",[826,839,846,853,860,868],{"id":827,"sort":15,"bg_sections_faqs_id":828,"faq_cards_id":835},83,{"title":823,"subtitle":65,"id":822,"status":824,"faqs":829},[827,830,831,832,833,834],84,85,86,87,88,{"question":836,"answer":837,"id":838},"\u003Ch6>What is the main difference between JUnit 4 and JUnit 5?\u003C\u002Fh6>","\u003Cp>JUnit 5 uses a modular architecture (Platform, Jupiter, Vintage) instead of a single monolithic engine. This enables better tooling support, extensibility, and the ability to mix multiple test engines in one project.\u003C\u002Fp>","2fd7718e-0caa-4261-ba3e-4af52530d206",{"id":830,"sort":35,"bg_sections_faqs_id":840,"faq_cards_id":842},{"title":823,"subtitle":65,"id":822,"status":824,"faqs":841},[827,830,831,832,833,834],{"question":843,"answer":844,"id":845},"\u003Ch6>Is JUnit 5 backward compatible with JUnit 4?\u003C\u002Fh6>","\u003Cp>Yes. JUnit Vintage allows you to run existing JUnit 4 tests alongside JUnit 5 tests without rewriting everything at once.\u003C\u002Fp>","6e26b1f1-6535-4d24-bdf5-5f294bde7bbb",{"id":831,"sort":40,"bg_sections_faqs_id":847,"faq_cards_id":849},{"title":823,"subtitle":65,"id":822,"status":824,"faqs":848},[827,830,831,832,833,834],{"question":850,"answer":851,"id":852},"\u003Ch6>When should I use Mockito in unit tests?\u003C\u002Fh6>","\u003Cp>Use Mockito to mock external dependencies like APIs, databases, or services. Avoid mocking internal domain logic or value objects, as it often indicates poor design.\u003C\u002Fp>","e7b357f6-db9c-44bb-9371-84253cb246ae",{"id":832,"sort":174,"bg_sections_faqs_id":854,"faq_cards_id":856},{"title":823,"subtitle":65,"id":822,"status":824,"faqs":855},[827,830,831,832,833,834],{"question":857,"answer":858,"id":859},"\u003Ch6>Are integration tests slower than unit tests?\u003C\u002Fh6>","\u003Cp>Yes, but they are essential. Unit tests validate logic, while integration tests validate wiring, serialization, database behavior, and real system interactions.\u003C\u002Fp>","382fced0-37e0-4f98-a395-84c565bbd7c4",{"id":833,"sort":861,"bg_sections_faqs_id":862,"faq_cards_id":864},5,{"title":823,"subtitle":65,"id":822,"status":824,"faqs":863},[827,830,831,832,833,834],{"question":865,"answer":866,"id":867},"\u003Ch6>Why is Testcontainers better than H2?\u003C\u002Fh6>","\u003Cp>Testcontainers runs real databases in Docker, eliminating differences between test and production environments. This prevents migration issues, SQL incompatibilities, and environment-specific bugs.\u003C\u002Fp>","79e91f10-e694-4cd6-8f24-f944f0856fd0",{"id":834,"sort":869,"bg_sections_faqs_id":870,"faq_cards_id":872},6,{"title":823,"subtitle":65,"id":822,"status":824,"faqs":871},[827,830,831,832,833,834],{"question":873,"answer":874,"id":875},"\u003Ch6>What is a good code coverage percentage?\u003C\u002Fh6>","\u003Cp>A healthy target is 70&ndash;80%. Focus on meaningful coverage of business logic and edge cases rather than chasing 100%.\u003C\u002Fp>","23040895-82bd-4845-9c2d-298ffbee1fa0",{"first_name":877,"last_name":878,"id":879,"email":880,"facebook_url":65,"description":881,"x_url":65,"linkedin_url":882,"instagram_url":65,"title":883,"slug":884,"avatar":885},"Harsh","Shiyani","b9c2b0a3-f5cc-4c16-b748-e1cfce751302","harsh.s@7span.com","Driven by curiosity and problem-solving, I build reliable and scalable backend systems using Java and Spring Boot. With hands-on experience in monolithic and microservice architectures, I focus on writing clean code, designing resilient APIs, and delivering production-ready solutions.","https:\u002F\u002Fwww.linkedin.com\u002Fin\u002Fharsh-shiyani\u002F","JAVA DEVELOPER","harsh-shiyani",{"id":886,"filename_disk":887},"277d3d8a-2e99-4f21-a1f6-63fe461b6b98","277d3d8a-2e99-4f21-a1f6-63fe461b6b98.jpg",{"id":74,"filename_disk":75},{"name":890,"_100":891,"_200":892,"_300":893,"_400":894,"_500":895,"_700":896,"_600":897,"_900":898,"_800":899,"id":900,"status":8},"Tailwind Orange","#FFEDD5","#FED7AA","#FDBA74","#FB923C","#F97316","#C2410C","#EA580C","#7C2D12","#9A3412","2308c646-a52e-4ff2-b6ae-5e6b0853b811",{"id":57,"title":902,"subtitle":903,"blogs":904,"selected_blogs":65},"\u003Cdiv>\n\u003Cdiv>More\u003C\u002Fdiv>\n\u003C\u002Fdiv>","\u003Cp>An interesting read? Here is more related to it.\u003C\u002Fp>","related",{"logo":906,"logo_link":911,"button_primary":916,"nav_links":922},{"id":907,"width":65,"height":65,"title":908,"type":909,"filename_disk":910},"be082e99-8711-4293-b716-4b3da8c6dd29","Logo Dark","image\u002Fsvg+xml","be082e99-8711-4293-b716-4b3da8c6dd29.svg",{"type":912,"label":913,"url":65,"anchor_id":65,"target":65,"description":65,"page":914,"icon":65,"section":65},"page","Home",{"path":915},"\u002F",{"type":912,"label":917,"url":65,"anchor_id":918,"target":919,"description":65,"page":920,"icon":65,"section":65},"Get In Touch","contact_form","_blank",{"path":921},"\u002Fcontact",[923,1435,1441,1709,1715],{"link":924},{"type":65,"label":925,"url":65,"anchor_id":65,"target":65,"description":65,"page":65,"icon":65,"section":65,"links":926},"Solutions",[927,1104,1190],{"children":928},{"type":912,"label":929,"url":65,"anchor_id":65,"target":930,"description":65,"page":931,"icon":65,"section":65,"links":933},"Services","_self",{"path":932},"\u002Fservices",[934,991,1042,1073],{"children":935},{"type":912,"label":936,"url":65,"anchor_id":65,"target":930,"description":65,"page":937,"icon":939,"section":65,"links":945},"Build",{"path":938},"\u002Fbuild",{"name":940,"value":65,"svg":941},"Advanced Manufacturing & Industrial Products",{"id":942,"width":65,"height":65,"title":943,"type":909,"filename_disk":944},"0461b3d3-f165-4a6b-bcd8-a8f4a63120ef","Mega Menu (1)","0461b3d3-f165-4a6b-bcd8-a8f4a63120ef.svg",[946,951,956,961,966,971,976,981,986],{"children":947},{"type":912,"label":948,"url":65,"anchor_id":65,"target":930,"description":65,"page":949,"icon":65,"section":65},"Custom Applications",{"path":950},"\u002Fcustom-software-development",{"children":952},{"type":912,"label":953,"url":65,"anchor_id":65,"target":930,"description":65,"page":954,"icon":65,"section":65},"Enterprise Solutions",{"path":955},"\u002Fenterprise-application-solutions",{"children":957},{"type":912,"label":958,"url":65,"anchor_id":65,"target":930,"description":65,"page":959,"icon":65,"section":65},"eCommerce & Digital Storefronts",{"path":960},"\u002Fecommerce-development",{"children":962},{"type":912,"label":963,"url":65,"anchor_id":65,"target":930,"description":65,"page":964,"icon":65,"section":65},"No-Code\u002FLow-Code Solutions",{"path":965},"\u002Flow-code-no-code-development",{"children":967},{"type":912,"label":968,"url":65,"anchor_id":65,"target":930,"description":65,"page":969,"icon":65,"section":65},"Custom Web Development",{"path":970},"\u002Fcustom-web-development",{"children":972},{"type":912,"label":973,"url":65,"anchor_id":65,"target":930,"description":65,"page":974,"icon":65,"section":65},"SaaS",{"path":975},"\u002Fsaas-product-development",{"children":977},{"type":912,"label":978,"url":65,"anchor_id":65,"target":930,"description":65,"page":979,"icon":65,"section":65},"Cloud & DevOps",{"path":980},"\u002Fcloud-devops-engineering",{"children":982},{"type":912,"label":983,"url":65,"anchor_id":65,"target":930,"description":65,"page":984,"icon":65,"section":65},"Mobile App Development",{"path":985},"\u002Fmobile-application-development",{"children":987},{"type":912,"label":988,"url":65,"anchor_id":65,"target":930,"description":65,"page":989,"icon":65,"section":65},"CMS Development",{"path":990},"\u002Fcms-development",{"children":992},{"type":912,"label":993,"url":65,"anchor_id":65,"target":930,"description":65,"page":994,"icon":996,"section":65,"links":1001},"Grow",{"path":995},"\u002Fgrow",{"name":997,"value":997,"svg":998},"Dawnrise",{"id":999,"width":65,"height":65,"title":997,"type":909,"filename_disk":1000},"ba95220f-833d-4ca4-8a11-2a4b67cd134e","ba95220f-833d-4ca4-8a11-2a4b67cd134e.svg",[1002,1007,1012,1017,1022,1027,1032,1037],{"children":1003},{"type":912,"label":1004,"url":65,"anchor_id":65,"target":930,"description":65,"page":1005,"icon":65,"section":65},"Performance Marketing Services",{"path":1006},"\u002Fperformance-marketing-services",{"children":1008},{"type":912,"label":1009,"url":65,"anchor_id":65,"target":930,"description":65,"page":1010,"icon":65,"section":65},"eCommerce Growth Solutions",{"path":1011},"\u002Fecommerce-growth-solutions",{"children":1013},{"type":912,"label":1014,"url":65,"anchor_id":65,"target":930,"description":65,"page":1015,"icon":65,"section":65},"UX Optimization & Accessibility",{"path":1016},"\u002Fui-ux-design",{"children":1018},{"type":912,"label":1019,"url":65,"anchor_id":65,"target":930,"description":65,"page":1020,"icon":65,"section":65},"IT Strategy & Process Optimization",{"path":1021},"\u002Fit-optimization",{"children":1023},{"type":912,"label":1024,"url":65,"anchor_id":65,"target":930,"description":65,"page":1025,"icon":65,"section":65},"Application Maintenance & Support",{"path":1026},"\u002Fapplication-maintenance",{"children":1028},{"type":912,"label":1029,"url":65,"anchor_id":65,"target":930,"description":65,"page":1030,"icon":65,"section":65},"IT Staff Augmentation Services",{"path":1031},"\u002Fit-staff-augmentation-services",{"children":1033},{"type":912,"label":1034,"url":65,"anchor_id":65,"target":930,"description":65,"page":1035,"icon":65,"section":65},"B2B Lead Generation Solutions",{"path":1036},"\u002Flead-generation-services",{"children":1038},{"type":912,"label":1039,"url":65,"anchor_id":65,"target":930,"description":65,"page":1040,"icon":65,"section":65},"Business Intelligence & Data Analytics",{"path":1041},"\u002Fbusiness-intelligence-and-data-analytics",{"children":1043},{"type":912,"label":1044,"url":65,"anchor_id":65,"target":930,"description":65,"page":1045,"icon":1047,"section":65,"links":1052},"Transform",{"path":1046},"\u002Ftransform",{"name":1048,"value":1048,"svg":1049},"Ember Nest",{"id":1050,"width":65,"height":65,"title":1048,"type":909,"filename_disk":1051},"317591fd-6bf7-4888-a695-78ecdf2507af","317591fd-6bf7-4888-a695-78ecdf2507af.svg",[1053,1058,1063,1068],{"children":1054},{"type":912,"label":1055,"url":65,"anchor_id":65,"target":930,"description":65,"page":1056,"icon":65,"section":65},"Legacy App Modernizations",{"path":1057},"\u002Flegacy-app-modernization",{"children":1059},{"type":912,"label":1060,"url":65,"anchor_id":65,"target":930,"description":65,"page":1061,"icon":65,"section":65},"AI & Advanced Tech Solutions",{"path":1062},"\u002Fai-and-emerging-technologies",{"children":1064},{"type":912,"label":1065,"url":65,"anchor_id":65,"target":930,"description":65,"page":1066,"icon":65,"section":65},"Cloud & Infrastructure Transformation",{"path":1067},"\u002Fcloud-infrastructure-modernization",{"children":1069},{"type":912,"label":1070,"url":65,"anchor_id":65,"target":930,"description":65,"page":1071,"icon":65,"section":65},"IoT & Smart Solutions",{"path":1072},"\u002Fiot-development-smart-integration",{"children":1074},{"type":912,"label":1075,"url":65,"anchor_id":65,"target":930,"description":65,"page":1076,"icon":1078,"section":65,"links":1083},"Consulting",{"path":1077},"\u002Fconsulting",{"name":1079,"value":1079,"svg":1080},"Twinflame",{"id":1081,"width":65,"height":65,"title":1079,"type":909,"filename_disk":1082},"5c461564-acb7-4926-b30f-1ef56efb28f5","5c461564-acb7-4926-b30f-1ef56efb28f5.svg",[1084,1089,1094,1099],{"children":1085},{"type":912,"label":1086,"url":65,"anchor_id":65,"target":930,"description":65,"page":1087,"icon":65,"section":65},"Product Consulting",{"path":1088},"\u002Fproduct-strategy-and-management",{"children":1090},{"type":912,"label":1091,"url":65,"anchor_id":65,"target":930,"description":65,"page":1092,"icon":65,"section":65},"Tech Consulting",{"path":1093},"\u002Ftechnology-consulting",{"children":1095},{"type":912,"label":1096,"url":65,"anchor_id":65,"target":930,"description":65,"page":1097,"icon":65,"section":65},"Design Consulting",{"path":1098},"\u002Fux-consulting",{"children":1100},{"type":912,"label":1101,"url":65,"anchor_id":65,"target":930,"description":65,"page":1102,"icon":65,"section":65},"Digital Marketing Consulting",{"path":1103},"\u002Fdigital-marketing-consulting",{"children":1105},{"type":65,"label":1106,"url":65,"anchor_id":65,"target":65,"description":65,"page":65,"icon":65,"section":65,"links":1107},"Industries",[1108,1137,1166],{"children":1109},{"type":65,"label":1110,"url":65,"anchor_id":65,"target":65,"description":65,"page":65,"icon":1111,"section":65,"links":1116},"Industrial, Mobility & Infrastructure",{"name":1112,"value":1112,"svg":1113},"Mountain Base",{"id":1114,"width":65,"height":65,"title":1112,"type":909,"filename_disk":1115},"a04fdc40-8ddb-4caa-ad48-0cf2f30953e9","a04fdc40-8ddb-4caa-ad48-0cf2f30953e9.svg",[1117,1122,1127,1132],{"children":1118},{"type":912,"label":1119,"url":65,"anchor_id":65,"target":65,"description":65,"page":1120,"icon":65,"section":65},"Manufacturing",{"path":1121},"\u002Findustry\u002Fmanufacturing",{"children":1123},{"type":912,"label":1124,"url":65,"anchor_id":65,"target":930,"description":65,"page":1125,"icon":65,"section":65},"Real Estate & Construction",{"path":1126},"\u002Findustry\u002Freal-estate",{"children":1128},{"type":912,"label":1129,"url":65,"anchor_id":65,"target":930,"description":65,"page":1130,"icon":65,"section":65},"Mobility & Automotive",{"path":1131},"\u002Findustry\u002Fautomotive",{"children":1133},{"type":912,"label":1134,"url":65,"anchor_id":65,"target":65,"description":65,"page":1135,"icon":65,"section":65},"Travel & Hospitality",{"path":1136},"\u002Findustry\u002Ftravel-hospitality",{"children":1138},{"type":65,"label":1139,"url":65,"anchor_id":65,"target":65,"description":65,"page":65,"icon":1140,"section":65,"links":1145},"Digital, Consumer & Media",{"name":1141,"value":1141,"svg":1142},"Orchard",{"id":1143,"width":65,"height":65,"title":1141,"type":909,"filename_disk":1144},"c21bf7e5-fb29-406c-9d42-0883c6272235","c21bf7e5-fb29-406c-9d42-0883c6272235.svg",[1146,1151,1156,1161],{"children":1147},{"type":912,"label":1148,"url":65,"anchor_id":65,"target":65,"description":65,"page":1149,"icon":65,"section":65},"Ecommerce & Retail",{"path":1150},"\u002Findustry\u002Fretail-ecommerce",{"children":1152},{"type":912,"label":1153,"url":65,"anchor_id":65,"target":65,"description":65,"page":1154,"icon":65,"section":65},"B2B SaaS",{"path":1155},"\u002Findustry\u002Fsaas",{"children":1157},{"type":912,"label":1158,"url":65,"anchor_id":65,"target":65,"description":65,"page":1159,"icon":65,"section":65},"Telecommunications",{"path":1160},"\u002Findustry\u002Ftelecommunications",{"children":1162},{"type":912,"label":1163,"url":65,"anchor_id":65,"target":65,"description":65,"page":1164,"icon":65,"section":65},"Media & Entertainment",{"path":1165},"\u002Findustry\u002Fmedia-entertainment",{"children":1167},{"type":65,"label":1168,"url":65,"anchor_id":65,"target":65,"description":65,"page":65,"icon":1169,"section":65,"links":1174},"Regulated & Public Services",{"name":1170,"value":1170,"svg":1171},"Crystal",{"id":1172,"width":65,"height":65,"title":1170,"type":909,"filename_disk":1173},"276f1af8-f2fa-4229-94e7-d5ce165aa4c0","276f1af8-f2fa-4229-94e7-d5ce165aa4c0.svg",[1175,1180,1185],{"children":1176},{"type":912,"label":1177,"url":65,"anchor_id":65,"target":65,"description":65,"page":1178,"icon":65,"section":65},"Banking & Finance",{"path":1179},"\u002Findustry\u002Fbanking-finance",{"children":1181},{"type":912,"label":1182,"url":65,"anchor_id":65,"target":65,"description":65,"page":1183,"icon":65,"section":65},"Government & Public Sector",{"path":1184},"\u002Findustry\u002Fgovernment-and-public-service",{"children":1186},{"type":912,"label":1187,"url":65,"anchor_id":65,"target":65,"description":65,"page":1188,"icon":65,"section":65},"Healthcare & Wellness",{"path":1189},"\u002Findustry\u002Fhealthcare",{"children":1191},{"type":912,"label":1192,"url":65,"anchor_id":65,"target":930,"description":65,"page":1193,"icon":65,"section":65,"links":1195},"Hire Talent",{"path":1194},"\u002Ftechnologies",[1196,1235,1279,1320,1364,1383,1397,1421],{"children":1197},{"type":65,"label":1198,"url":65,"anchor_id":65,"target":65,"description":65,"page":65,"icon":1199,"section":65,"links":1204},"Frontend",{"name":1200,"value":1200,"svg":1201},"Eclipse",{"id":1202,"width":65,"height":65,"title":1200,"type":909,"filename_disk":1203},"f24547ab-e85f-4d6f-894d-a375479c842e","f24547ab-e85f-4d6f-894d-a375479c842e.svg",[1205,1210,1215,1220,1225,1230],{"children":1206},{"type":912,"label":1207,"url":65,"anchor_id":65,"target":930,"description":65,"page":1208,"icon":65,"section":65},"JavaScript Developers",{"path":1209},"\u002Fhire-javascript-developers",{"children":1211},{"type":912,"label":1212,"url":65,"anchor_id":65,"target":930,"description":65,"page":1213,"icon":65,"section":65},"TypeScript Developers",{"path":1214},"\u002Fhire-typescript-developers",{"children":1216},{"type":912,"label":1217,"url":65,"anchor_id":65,"target":930,"description":65,"page":1218,"icon":65,"section":65},"React Developers",{"path":1219},"\u002Fhire-react-developers",{"children":1221},{"type":912,"label":1222,"url":65,"anchor_id":65,"target":930,"description":65,"page":1223,"icon":65,"section":65},"Nuxt JS Developers",{"path":1224},"\u002Fhire-nuxt-js-developers",{"children":1226},{"type":912,"label":1227,"url":65,"anchor_id":65,"target":930,"description":65,"page":1228,"icon":65,"section":65},"Next JS Developers",{"path":1229},"\u002Fhire-next-js-developers",{"children":1231},{"type":912,"label":1232,"url":65,"anchor_id":65,"target":930,"description":65,"page":1233,"icon":65,"section":65},"Vue JS Developers",{"path":1234},"\u002Fhire-vue-js-developers",{"children":1236},{"type":65,"label":1237,"url":65,"anchor_id":65,"target":65,"description":65,"page":65,"icon":1238,"section":65,"links":1243},"Backend",{"name":1239,"value":1239,"svg":1240},"Nestling",{"id":1241,"width":65,"height":65,"title":1239,"type":909,"filename_disk":1242},"89928fcc-9b32-41d7-879d-2a88846cc3bb","89928fcc-9b32-41d7-879d-2a88846cc3bb.svg",[1244,1249,1254,1259,1264,1269,1274],{"children":1245},{"type":912,"label":1246,"url":65,"anchor_id":65,"target":65,"description":65,"page":1247,"icon":65,"section":65},"GraphQL Developers",{"path":1248},"\u002Fhire-graphql-developers",{"children":1250},{"type":912,"label":1251,"url":65,"anchor_id":65,"target":930,"description":65,"page":1252,"icon":65,"section":65},"Java Developers",{"path":1253},"\u002Fhire-java-developers",{"children":1255},{"type":912,"label":1256,"url":65,"anchor_id":65,"target":930,"description":65,"page":1257,"icon":65,"section":65},"Laravel Developers",{"path":1258},"\u002Fhire-laravel-developers",{"children":1260},{"type":912,"label":1261,"url":65,"anchor_id":65,"target":930,"description":65,"page":1262,"icon":65,"section":65},"Liferay Developers",{"path":1263},"\u002Fhire-liferay-developers",{"children":1265},{"type":912,"label":1266,"url":65,"anchor_id":65,"target":930,"description":65,"page":1267,"icon":65,"section":65},"Node JS Developers",{"path":1268},"\u002Fhire-node-js-developers",{"children":1270},{"type":912,"label":1271,"url":65,"anchor_id":65,"target":65,"description":65,"page":1272,"icon":65,"section":65},"Nest JS Developers",{"path":1273},"\u002Fhire-nest-js-developers",{"children":1275},{"type":912,"label":1276,"url":65,"anchor_id":65,"target":930,"description":65,"page":1277,"icon":65,"section":65},"PHP Developers",{"path":1278},"\u002Fhire-php-developers",{"children":1280},{"type":65,"label":1281,"url":65,"anchor_id":65,"target":65,"description":65,"page":65,"icon":1282,"section":65,"links":1287},"Mobile",{"name":1283,"value":1283,"svg":1284},"River Stones",{"id":1285,"width":65,"height":65,"title":1283,"type":909,"filename_disk":1286},"07d7e1f0-7112-450a-a45a-badf40495d38","07d7e1f0-7112-450a-a45a-badf40495d38.svg",[1288,1295,1300,1305,1310,1315],{"children":1289},{"type":912,"label":1290,"url":65,"anchor_id":65,"target":930,"description":65,"page":1291,"icon":65,"section":1293},"Flutter Developers",{"path":1292},"\u002Fhire-flutter-developers",{"item":1294},"0c988c05-000c-48b0-9168-7741cbb50a55",{"children":1296},{"type":912,"label":1297,"url":65,"anchor_id":65,"target":930,"description":65,"page":1298,"icon":65,"section":65},"React Native Developers",{"path":1299},"\u002Fhire-react-native-developers",{"children":1301},{"type":912,"label":1302,"url":65,"anchor_id":65,"target":930,"description":65,"page":1303,"icon":65,"section":65},"iOS Developers",{"path":1304},"\u002Fhire-ios-developers",{"children":1306},{"type":912,"label":1307,"url":65,"anchor_id":65,"target":930,"description":65,"page":1308,"icon":65,"section":65},"Kotlin Developers",{"path":1309},"\u002Fhire-kotlin-developers",{"children":1311},{"type":912,"label":1312,"url":65,"anchor_id":65,"target":930,"description":65,"page":1313,"icon":65,"section":65},"Android Developers",{"path":1314},"\u002Fhire-android-developers",{"children":1316},{"type":912,"label":1317,"url":65,"anchor_id":65,"target":65,"description":65,"page":1318,"icon":65,"section":65},"Swift Developers",{"path":1319},"\u002Fhire-swift-developers",{"children":1321},{"type":65,"label":1322,"url":65,"anchor_id":65,"target":65,"description":65,"page":65,"icon":1323,"section":65,"links":1328},"CMS",{"name":1324,"value":1324,"svg":1325},"Pebble & Peak",{"id":1326,"width":65,"height":65,"title":1324,"type":909,"filename_disk":1327},"908d721e-4ab1-4a08-b42a-b93f011020a7","908d721e-4ab1-4a08-b42a-b93f011020a7.svg",[1329,1334,1339,1344,1349,1354,1359],{"children":1330},{"type":912,"label":1331,"url":65,"anchor_id":65,"target":930,"description":65,"page":1332,"icon":65,"section":65},"Webflow Developers",{"path":1333},"\u002Fhire-webflow-developer",{"children":1335},{"type":912,"label":1336,"url":65,"anchor_id":65,"target":930,"description":65,"page":1337,"icon":65,"section":65},"Directus Developers",{"path":1338},"\u002Fhire-directus-developers",{"children":1340},{"type":912,"label":1341,"url":65,"anchor_id":65,"target":930,"description":65,"page":1342,"icon":65,"section":65},"dotCMS Developer",{"path":1343},"\u002Fhire-dotcms-developers",{"children":1345},{"type":912,"label":1346,"url":65,"anchor_id":65,"target":930,"description":65,"page":1347,"icon":65,"section":65},"Strapi Developers",{"path":1348},"\u002Fhire-strapi-developers",{"children":1350},{"type":912,"label":1351,"url":65,"anchor_id":65,"target":930,"description":65,"page":1352,"icon":65,"section":65},"Contentful Developer",{"path":1353},"\u002Fhire-contentful-developers",{"children":1355},{"type":912,"label":1356,"url":65,"anchor_id":65,"target":930,"description":65,"page":1357,"icon":65,"section":65},"WordPress Developers",{"path":1358},"\u002Fhire-wordpress-developers",{"children":1360},{"type":912,"label":1361,"url":65,"anchor_id":65,"target":65,"description":65,"page":1362,"icon":65,"section":65},"Bubble.io Experts",{"path":1363},"\u002Fhire-bubble-experts",{"children":1365},{"type":65,"label":1366,"url":65,"anchor_id":65,"target":65,"description":65,"page":65,"icon":1367,"section":65,"links":1372},"Design",{"name":1368,"value":1368,"svg":1369},"Starleaf",{"id":1370,"width":65,"height":65,"title":1368,"type":909,"filename_disk":1371},"2eb01417-c486-4bed-a9f9-dd10fd3be974","2eb01417-c486-4bed-a9f9-dd10fd3be974.svg",[1373,1378],{"children":1374},{"type":912,"label":1375,"url":65,"anchor_id":65,"target":930,"description":65,"page":1376,"icon":65,"section":65},"Figma Designers",{"path":1377},"\u002Fhire-figma-designer",{"children":1379},{"type":912,"label":1380,"url":65,"anchor_id":65,"target":930,"description":65,"page":1381,"icon":65,"section":65},"Framer Developers",{"path":1382},"\u002Fhire-framer-developers",{"children":1384},{"type":65,"label":1385,"url":65,"anchor_id":65,"target":65,"description":65,"page":65,"icon":1386,"section":65,"links":1391},"E-Commerce",{"name":1387,"value":1387,"svg":1388},"Dune",{"id":1389,"width":65,"height":65,"title":1387,"type":909,"filename_disk":1390},"dd39f9f2-1e72-4447-bf18-82d2c2576852","dd39f9f2-1e72-4447-bf18-82d2c2576852.svg",[1392],{"children":1393},{"type":912,"label":1394,"url":65,"anchor_id":65,"target":930,"description":65,"page":1395,"icon":65,"section":65},"Shopify Developers",{"path":1396},"\u002Fhire-shopify-developers",{"children":1398},{"type":65,"label":1399,"url":65,"anchor_id":65,"target":65,"description":65,"page":65,"icon":1400,"section":65,"links":1405},"Cloud",{"name":1401,"value":1401,"svg":1402},"Rising Moon",{"id":1403,"width":65,"height":65,"title":1401,"type":909,"filename_disk":1404},"daa3f389-edec-4105-ba2a-199d4c279b1b","daa3f389-edec-4105-ba2a-199d4c279b1b.svg",[1406,1411,1416],{"children":1407},{"type":912,"label":1408,"url":65,"anchor_id":65,"target":930,"description":65,"page":1409,"icon":65,"section":65},"AWS Experts",{"path":1410},"\u002Fhire-aws-experts",{"children":1412},{"type":912,"label":1413,"url":65,"anchor_id":65,"target":930,"description":65,"page":1414,"icon":65,"section":65},"Digital Ocean Experts",{"path":1415},"\u002Fhire-digital-ocean-experts",{"children":1417},{"type":912,"label":1418,"url":65,"anchor_id":65,"target":65,"description":65,"page":1419,"icon":65,"section":65},"Supabase Experts",{"path":1420},"\u002Fhire-supabase-experts",{"children":1422},{"type":65,"label":1423,"url":65,"anchor_id":65,"target":65,"description":65,"page":65,"icon":1424,"section":65,"links":1429},"ERP",{"name":1425,"value":1425,"svg":1426},"Petal",{"id":1427,"width":65,"height":65,"title":1425,"type":909,"filename_disk":1428},"5210c66b-db76-4000-816b-c9be9ed6660b","5210c66b-db76-4000-816b-c9be9ed6660b.svg",[1430],{"children":1431},{"type":912,"label":1432,"url":65,"anchor_id":65,"target":930,"description":65,"page":1433,"icon":65,"section":65},"Odoo Developers",{"path":1434},"\u002Fhire-odoo-developer",{"link":1436},{"type":912,"label":1437,"url":65,"anchor_id":65,"target":65,"description":65,"page":1438,"icon":65,"section":65,"links":1440},"Work",{"path":1439},"\u002Fwork",[],{"link":1442},{"type":65,"label":1443,"url":65,"anchor_id":65,"target":65,"description":65,"page":65,"icon":65,"section":65,"links":1444},"Products",[1445,1471,1531,1572,1683],{"children":1446},{"type":65,"label":973,"url":65,"anchor_id":65,"target":65,"description":65,"page":65,"icon":65,"section":65,"links":1447},[1448,1460],{"children":1449},{"type":912,"label":1450,"url":65,"anchor_id":65,"target":919,"description":1451,"page":1452,"icon":1454,"section":65,"links":1459},"Vepaar","\u003Cp>The all-in-one suite to run, sell, and support your business online\u003C\u002Fp>",{"path":1453},"\u002Fvepaar",{"name":1455,"value":65,"svg":1456},"Vepaar Icon",{"id":1457,"width":65,"height":65,"title":1450,"type":909,"filename_disk":1458},"d4bead81-d2b1-4457-bb6b-1c363f743d9d","d4bead81-d2b1-4457-bb6b-1c363f743d9d.svg",[],{"children":1461},{"type":912,"label":1462,"url":65,"anchor_id":65,"target":919,"description":1463,"page":1464,"icon":1466,"section":65,"links":1470},"Pagemaker","\u003Cp>Mobile First No-Code Landing Page Builder\u003C\u002Fp>",{"path":1465},"\u002Fpagemaker",{"name":1462,"value":65,"svg":1467},{"id":1468,"width":65,"height":65,"title":1462,"type":909,"filename_disk":1469},"d4ac2317-ff68-456d-abec-2ebc0930cd42","d4ac2317-ff68-456d-abec-2ebc0930cd42.svg",[],{"children":1472},{"type":65,"label":1473,"url":65,"anchor_id":65,"target":65,"description":65,"page":65,"icon":65,"section":65,"links":1474},"Mobile Apps",[1475,1486,1497,1508,1520],{"children":1476},{"type":912,"label":1477,"url":65,"anchor_id":65,"target":919,"description":1478,"page":1479,"icon":1481,"section":65,"links":1485},"Tapomo","\u003Cp>A Digital Business Card and Networking Platform\u003C\u002Fp>",{"path":1480},"\u002Ftapomo",{"name":1477,"value":65,"svg":1482},{"id":1483,"width":65,"height":65,"title":1477,"type":909,"filename_disk":1484},"13cc60db-cd9e-4fff-8f13-76b6155ab95d","13cc60db-cd9e-4fff-8f13-76b6155ab95d.svg",[],{"children":1487},{"type":912,"label":1488,"url":65,"anchor_id":65,"target":919,"description":1489,"page":1490,"icon":1492,"section":65,"links":1496},"Voliz","\u003Cp>A Real-Time WhatsApp Polling Platform\u003C\u002Fp>",{"path":1491},"\u002Fvoliz",{"name":1488,"value":65,"svg":1493},{"id":1494,"width":65,"height":65,"title":1488,"type":909,"filename_disk":1495},"d79f8032-d289-4376-bdd8-84d205ae2582","d79f8032-d289-4376-bdd8-84d205ae2582.svg",[],{"children":1498},{"type":912,"label":1499,"url":65,"anchor_id":65,"target":919,"description":1500,"page":1501,"icon":1503,"section":65,"links":1507},"Frink","\u003Cp>A Customizable Link in Bio Tool for Creators and Brands\u003C\u002Fp>",{"path":1502},"\u002Ffrink",{"name":1499,"value":65,"svg":1504},{"id":1505,"width":65,"height":65,"title":1499,"type":909,"filename_disk":1506},"82f881ca-7824-482b-a9ca-16ccb5f92037","82f881ca-7824-482b-a9ca-16ccb5f92037.svg",[],{"children":1509},{"type":912,"label":1510,"url":65,"anchor_id":65,"target":919,"description":1511,"page":1512,"icon":1514,"section":65,"links":1519},"BakLoL","\u003Cp>A Location-Based Voice Sharing Platform\u003C\u002Fp>",{"path":1513},"\u002Fbaklol",{"name":1510,"value":65,"svg":1515},{"id":1516,"width":65,"height":65,"title":1517,"type":909,"filename_disk":1518},"98f3c152-6255-45f1-a81f-fcc5e3414738","Baklol","98f3c152-6255-45f1-a81f-fcc5e3414738.svg",[],{"children":1521},{"type":912,"label":1522,"url":65,"anchor_id":65,"target":919,"description":1523,"page":1524,"icon":1526,"section":65,"links":1530},"Mixpage","\u003Cp>Build Your Website From Your Phone\u003C\u002Fp>",{"path":1525},"\u002Fmixpage",{"name":1522,"value":65,"svg":1527},{"id":1528,"width":65,"height":65,"title":1522,"type":909,"filename_disk":1529},"984e1e41-5b38-4b0a-9348-204b5c74920f","984e1e41-5b38-4b0a-9348-204b5c74920f.svg",[],{"children":1532},{"type":65,"label":1533,"url":65,"anchor_id":65,"target":65,"description":65,"page":65,"icon":65,"section":65,"links":1534},"Odoo Apps",[1535,1548,1560],{"children":1536},{"type":912,"label":1537,"url":65,"anchor_id":65,"target":919,"description":1538,"page":1539,"icon":1541,"section":65,"links":1547},"CRM Dashboard","\u003Cp>Real-Time Sales &amp; Revenue Tracking\u003C\u002Fp>",{"path":1540},"\u002Fodoo-apps\u002Fcrm-dashboard",{"name":1542,"value":65,"svg":1543},"CRM Dashboard Icon",{"id":1544,"width":65,"height":65,"title":1545,"type":909,"filename_disk":1546},"2cae4e0f-2f45-4f8e-8bf6-15f00ac88835","Crm","2cae4e0f-2f45-4f8e-8bf6-15f00ac88835.svg",[],{"children":1549},{"type":912,"label":1550,"url":65,"anchor_id":65,"target":919,"description":1551,"page":1552,"icon":1554,"section":65,"links":1559},"Cashfree Integration","\u003Cp>Payment Gateway Integration for Odoo\u003C\u002Fp>",{"path":1553},"\u002Fodoo-apps\u002Fcashfree",{"name":1555,"value":65,"svg":1556},"Cashfree",{"id":1557,"width":65,"height":65,"title":1555,"type":909,"filename_disk":1558},"846054ee-c8e0-4051-b561-0c1be07c51f1","846054ee-c8e0-4051-b561-0c1be07c51f1.svg",[],{"children":1561},{"type":912,"label":1562,"url":65,"anchor_id":65,"target":919,"description":1563,"page":1564,"icon":1566,"section":65,"links":1571},"Purchase Order","\u003Cp>Order Payment App for B2B Checkout\u003C\u002Fp>",{"path":1565},"\u002Fodoo-apps\u002Fpurchase-order",{"name":1562,"value":65,"svg":1567},{"id":1568,"width":65,"height":65,"title":1569,"type":909,"filename_disk":1570},"098cf550-448b-4114-91d3-fbac10b7f0d9","Purchase 2","098cf550-448b-4114-91d3-fbac10b7f0d9.svg",[],{"children":1573},{"type":912,"label":1574,"url":65,"anchor_id":65,"target":65,"description":65,"page":1575,"icon":65,"section":65,"links":1577},"Open Source",{"path":1576},"\u002Fopen-source",[1578,1595,1608,1620,1634,1647,1659,1672],{"children":1579},{"type":1580,"label":1581,"url":1582,"anchor_id":1583,"target":919,"description":1584,"page":1585,"icon":1586,"section":1592,"links":1594},"section","VueList","https:\u002F\u002F7span.com\u002Fopen-source#124e0f59-576e-4b49-9026-7387da467b91","124e0f59-576e-4b49-9026-7387da467b91","\u003Cp>Simplified API-based list rendering for Vue\u003C\u002Fp>",{"path":1576},{"name":1587,"value":65,"svg":1588},"Vue List Icon",{"id":1589,"width":65,"height":65,"title":1590,"type":909,"filename_disk":1591},"049a33aa-cbf8-4b83-94d8-4a78c9faaf8a","Vue List","049a33aa-cbf8-4b83-94d8-4a78c9faaf8a.svg",{"item":1593},"e5d8dfa8-b10a-4e99-8d28-7f80f9093dfa",[],{"children":1596},{"type":1580,"label":1597,"url":65,"anchor_id":1598,"target":930,"description":1599,"page":1600,"icon":1601,"section":1606,"links":1607},"ReactList","ffedf96a-b43d-45aa-84b8-51110cb37a4f","\u003Cp>Simplified API-based list rendering for React\u003C\u002Fp>",{"path":1576},{"name":1602,"value":65,"svg":1603},"React List",{"id":1604,"width":65,"height":65,"title":1602,"type":909,"filename_disk":1605},"153b9211-ca81-4fe5-bc76-753821ee6da7","153b9211-ca81-4fe5-bc76-753821ee6da7.svg",{"item":1598},[],{"children":1609},{"type":1580,"label":1610,"url":65,"anchor_id":1593,"target":919,"description":1611,"page":1612,"icon":1613,"section":1618,"links":1619},"VueForm","\u003Cp>Build consistent CRUD forms, faster for Vue\u003C\u002Fp>",{"path":1576},{"name":1614,"value":65,"svg":1615},"Vue Form",{"id":1616,"width":65,"height":65,"title":1614,"type":909,"filename_disk":1617},"7e33276e-fc6d-438f-9c10-5d2d70ab0606","7e33276e-fc6d-438f-9c10-5d2d70ab0606.svg",{"item":1593},[],{"children":1621},{"type":1580,"label":1622,"url":65,"anchor_id":1623,"target":930,"description":1624,"page":1625,"icon":1626,"section":1632,"links":1633},"ReactForm","8c35e524-04a2-4d63-ab2b-9154efd92323","\u003Cp>Build consistent CRUD forms, faster for React.\u003C\u002Fp>",{"path":1576},{"name":1627,"value":65,"svg":1628},"React Form",{"id":1629,"width":65,"height":65,"title":1630,"type":909,"filename_disk":1631},"d49e0b78-c98f-4bda-9dc4-4f5f238cf06a","React Form 3","d49e0b78-c98f-4bda-9dc4-4f5f238cf06a.svg",{"item":1623},[],{"children":1635},{"type":1580,"label":1636,"url":65,"anchor_id":1637,"target":65,"description":1638,"page":1639,"icon":1640,"section":1645,"links":1646},"DashingKit","28787115-d6c9-48e9-9569-a184610e1d84","\u003Cp>A Flutter starter kit built for scalable apps\u003C\u002Fp>",{"path":1576},{"name":1641,"value":65,"svg":1642},"Dashing Kit",{"id":1643,"width":65,"height":65,"title":1641,"type":909,"filename_disk":1644},"c742d34d-afc2-4e89-a8fe-34f68a95c5c0","c742d34d-afc2-4e89-a8fe-34f68a95c5c0.svg",{"item":1637},[],{"children":1648},{"type":1580,"label":1649,"url":65,"anchor_id":1650,"target":65,"description":1651,"page":1652,"icon":1653,"section":1657,"links":1658},"Laravel Chat","34f46942-e97b-43c4-aa2a-ff34a38853ed","\u003Cp>The all-in-one Laravel chat package\u003C\u002Fp>",{"path":1576},{"name":1649,"value":65,"svg":1654},{"id":1655,"width":65,"height":65,"title":1649,"type":909,"filename_disk":1656},"c2558639-c78c-45a3-9a75-cc7c2bfcc250","c2558639-c78c-45a3-9a75-cc7c2bfcc250.svg",{"item":1650},[],{"children":1660},{"type":1580,"label":1661,"url":65,"anchor_id":1662,"target":65,"description":1663,"page":1664,"icon":1665,"section":1670,"links":1671},"Laravel Code Generator","550942dc-1760-41da-9ac6-d0305bf8ae33","\u003Cp>Automated CRUD Code\u003C\u002Fp>",{"path":1576},{"name":1666,"value":65,"svg":1667},"Laravel Code Genrator",{"id":1668,"width":65,"height":65,"title":1661,"type":909,"filename_disk":1669},"6a9a0b3f-987e-47b5-a98d-620db73dd3c6","6a9a0b3f-987e-47b5-a98d-620db73dd3c6.svg",{"item":1662},[],{"children":1673},{"type":65,"label":1674,"url":65,"anchor_id":1675,"target":65,"description":1676,"page":65,"icon":1677,"section":65,"links":1682},"Laravel WhatsApp","0d6926a8-0bce-4d31-8f1d-c49de22aa674","\u003Cp>Easy WhatsApp Message API Integration\u003C\u002Fp>",{"name":1678,"value":65,"svg":1679},"Laravel Whatsapp",{"id":1680,"width":65,"height":65,"title":1678,"type":909,"filename_disk":1681},"686ec747-c1d4-431a-8e94-f65b11c24067","686ec747-c1d4-431a-8e94-f65b11c24067.svg",[],{"children":1684},{"type":65,"label":1685,"url":65,"anchor_id":65,"target":65,"description":65,"page":65,"icon":65,"section":65,"links":1686},"Brands",[1687,1698],{"children":1688},{"type":912,"label":1689,"url":65,"anchor_id":65,"target":919,"description":1690,"page":1691,"icon":1693,"section":65,"links":1697},"Motolith","\u003Cp>A Unified Auto Parts Marketplace Platform\u003C\u002Fp>",{"path":1692},"\u002Fmotolith",{"name":1689,"value":65,"svg":1694},{"id":1695,"width":65,"height":65,"title":1689,"type":909,"filename_disk":1696},"7965c08f-b2e5-40cf-b51a-23c3f04b8f4e","7965c08f-b2e5-40cf-b51a-23c3f04b8f4e.svg",[],{"children":1699},{"type":912,"label":1700,"url":65,"anchor_id":65,"target":919,"description":1701,"page":1702,"icon":1704,"section":65,"links":1708},"Carkhana","\u003Cp>A Digital Garage and Vehicle Management Platform\u003C\u002Fp>",{"path":1703},"\u002Fcarkhana",{"name":1700,"value":65,"svg":1705},{"id":1706,"width":65,"height":65,"title":1700,"type":909,"filename_disk":1707},"04a7e020-1f2a-4b47-a9fe-18a0938b5ffc","04a7e020-1f2a-4b47-a9fe-18a0938b5ffc.svg",[],{"link":1710},{"type":912,"label":1711,"url":65,"anchor_id":65,"target":930,"description":65,"page":1712,"icon":65,"section":65,"links":1714},"Blog",{"path":1713},"\u002Fblog",[],{"link":1716},{"type":65,"label":1717,"url":65,"anchor_id":65,"target":65,"description":65,"page":65,"icon":65,"section":65,"links":1718},"Company",[1719,1725,1731,1737,1742],{"children":1720},{"type":912,"label":1721,"url":65,"anchor_id":65,"target":65,"description":65,"page":1722,"icon":65,"section":65,"links":1724},"About",{"path":1723},"\u002Fabout",[],{"children":1726},{"type":912,"label":1727,"url":65,"anchor_id":65,"target":65,"description":65,"page":1728,"icon":65,"section":65,"links":1730},"Testimonials",{"path":1729},"\u002Ftestimonials",[],{"children":1732},{"type":912,"label":1733,"url":65,"anchor_id":65,"target":65,"description":65,"page":1734,"icon":65,"section":65,"links":1736},"Career",{"path":1735},"\u002Fcareers",[],{"children":1738},{"type":912,"label":1739,"url":65,"anchor_id":65,"target":65,"description":65,"page":1740,"icon":65,"section":65,"links":1741},"Contact",{"path":921},[],{"children":1743},{"type":912,"label":1744,"url":65,"anchor_id":65,"target":919,"description":65,"page":1745,"icon":65,"section":65,"links":1747},"Brand Assets",{"path":1746},"\u002Fbrand",[],{"title":1749,"icon":1750},"\u003Cp>Engineering clarity where others add complexity.&nbsp;We help businesses build, modernize, and scale with the right technology. Whatever your challenge, stage, or vision, we make IT possible.\u003C\u002Fp>",{"name":1751,"value":65,"svg":1752},"Making IT Possible | Black Font",{"id":1753,"width":65,"height":65,"title":1754,"type":909,"filename_disk":1755},"ef48a6de-e34e-400b-8de4-c5d5c1b5ff5f","Group","ef48a6de-e34e-400b-8de4-c5d5c1b5ff5f.svg",{"title":1757,"links":1758},"\u003Cp>Industries\u003C\u002Fp>",[1759,1762,1765,1768,1771,1774,1777,1780,1783,1786,1789],{"link":1760},{"type":912,"label":1119,"url":65,"anchor_id":65,"target":65,"description":65,"page":1761,"icon":65,"section":65},{"path":1121},{"link":1763},{"type":912,"label":1124,"url":65,"anchor_id":65,"target":930,"description":65,"page":1764,"icon":65,"section":65},{"path":1126},{"link":1766},{"type":912,"label":1129,"url":65,"anchor_id":65,"target":930,"description":65,"page":1767,"icon":65,"section":65},{"path":1131},{"link":1769},{"type":912,"label":1187,"url":65,"anchor_id":65,"target":930,"description":65,"page":1770,"icon":65,"section":65},{"path":1189},{"link":1772},{"type":912,"label":1134,"url":65,"anchor_id":65,"target":65,"description":65,"page":1773,"icon":65,"section":65},{"path":1136},{"link":1775},{"type":912,"label":1153,"url":65,"anchor_id":65,"target":930,"description":65,"page":1776,"icon":65,"section":65},{"path":1155},{"link":1778},{"type":912,"label":1158,"url":65,"anchor_id":65,"target":930,"description":65,"page":1779,"icon":65,"section":65},{"path":1160},{"link":1781},{"type":912,"label":1177,"url":65,"anchor_id":65,"target":930,"description":65,"page":1782,"icon":65,"section":65},{"path":1179},{"link":1784},{"type":912,"label":1148,"url":65,"anchor_id":65,"target":930,"description":65,"page":1785,"icon":65,"section":65},{"path":1150},{"link":1787},{"type":912,"label":1163,"url":65,"anchor_id":65,"target":930,"description":65,"page":1788,"icon":65,"section":65},{"path":1165},{"link":1790},{"type":912,"label":1182,"url":65,"anchor_id":65,"target":930,"description":65,"page":1791,"icon":65,"section":65},{"path":1184},{"title":1793,"links":1794},"\u003Cp>Services\u003C\u002Fp>",[1795,1798,1801,1804,1807,1810,1813,1816,1819,1822,1825,1828,1831,1834,1837,1840,1843,1846,1849,1852,1855,1858,1861,1864,1867],{"link":1796},{"type":912,"label":948,"url":65,"anchor_id":65,"target":930,"description":65,"page":1797,"icon":65,"section":65},{"path":950},{"link":1799},{"type":912,"label":953,"url":65,"anchor_id":65,"target":930,"description":65,"page":1800,"icon":65,"section":65},{"path":955},{"link":1802},{"type":912,"label":958,"url":65,"anchor_id":65,"target":930,"description":65,"page":1803,"icon":65,"section":65},{"path":960},{"link":1805},{"type":912,"label":963,"url":65,"anchor_id":65,"target":930,"description":65,"page":1806,"icon":65,"section":65},{"path":965},{"link":1808},{"type":912,"label":968,"url":65,"anchor_id":65,"target":930,"description":65,"page":1809,"icon":65,"section":65},{"path":970},{"link":1811},{"type":912,"label":973,"url":65,"anchor_id":65,"target":930,"description":65,"page":1812,"icon":65,"section":65},{"path":975},{"link":1814},{"type":912,"label":978,"url":65,"anchor_id":65,"target":930,"description":65,"page":1815,"icon":65,"section":65},{"path":980},{"link":1817},{"type":912,"label":983,"url":65,"anchor_id":65,"target":930,"description":65,"page":1818,"icon":65,"section":65},{"path":985},{"link":1820},{"type":912,"label":988,"url":65,"anchor_id":65,"target":930,"description":65,"page":1821,"icon":65,"section":65},{"path":990},{"link":1823},{"type":912,"label":1004,"url":65,"anchor_id":65,"target":930,"description":65,"page":1824,"icon":65,"section":65},{"path":1006},{"link":1826},{"type":912,"label":1009,"url":65,"anchor_id":65,"target":930,"description":65,"page":1827,"icon":65,"section":65},{"path":1011},{"link":1829},{"type":912,"label":1014,"url":65,"anchor_id":65,"target":930,"description":65,"page":1830,"icon":65,"section":65},{"path":1016},{"link":1832},{"type":912,"label":1019,"url":65,"anchor_id":65,"target":930,"description":65,"page":1833,"icon":65,"section":65},{"path":1021},{"link":1835},{"type":912,"label":1024,"url":65,"anchor_id":65,"target":930,"description":65,"page":1836,"icon":65,"section":65},{"path":1026},{"link":1838},{"type":912,"label":1029,"url":65,"anchor_id":65,"target":930,"description":65,"page":1839,"icon":65,"section":65},{"path":1031},{"link":1841},{"type":912,"label":1034,"url":65,"anchor_id":65,"target":930,"description":65,"page":1842,"icon":65,"section":65},{"path":1036},{"link":1844},{"type":912,"label":1039,"url":65,"anchor_id":65,"target":930,"description":65,"page":1845,"icon":65,"section":65},{"path":1041},{"link":1847},{"type":912,"label":1055,"url":65,"anchor_id":65,"target":930,"description":65,"page":1848,"icon":65,"section":65},{"path":1057},{"link":1850},{"type":912,"label":1060,"url":65,"anchor_id":65,"target":930,"description":65,"page":1851,"icon":65,"section":65},{"path":1062},{"link":1853},{"type":912,"label":1065,"url":65,"anchor_id":65,"target":930,"description":65,"page":1854,"icon":65,"section":65},{"path":1067},{"link":1856},{"type":912,"label":1070,"url":65,"anchor_id":65,"target":930,"description":65,"page":1857,"icon":65,"section":65},{"path":1072},{"link":1859},{"type":912,"label":1086,"url":65,"anchor_id":65,"target":930,"description":65,"page":1860,"icon":65,"section":65},{"path":1088},{"link":1862},{"type":912,"label":1091,"url":65,"anchor_id":65,"target":930,"description":65,"page":1863,"icon":65,"section":65},{"path":1093},{"link":1865},{"type":912,"label":1096,"url":65,"anchor_id":65,"target":930,"description":65,"page":1866,"icon":65,"section":65},{"path":1098},{"link":1868},{"type":912,"label":1101,"url":65,"anchor_id":65,"target":930,"description":65,"page":1869,"icon":65,"section":65},{"path":1103},{"id":42,"links":1871},[1872,1877,1881,1885,1889,1893,1897,1901,1905],{"link":1873},{"type":1874,"label":1875,"url":1876,"anchor_id":65,"target":919,"description":65,"page":65,"icon":65,"section":65},"url","LinkedIn","https:\u002F\u002Fwww.linkedin.com\u002Fcompany\u002F7span",{"link":1878},{"type":1874,"label":1879,"url":1880,"anchor_id":65,"target":919,"description":65,"page":65,"icon":65,"section":65},"Instagram","https:\u002F\u002Finstagram.com\u002F7span",{"link":1882},{"type":1874,"label":1883,"url":1884,"anchor_id":65,"target":919,"description":65,"page":65,"icon":65,"section":65},"X","https:\u002F\u002Fx.com\u002F7SpanHQ",{"link":1886},{"type":1874,"label":1887,"url":1888,"anchor_id":65,"target":919,"description":65,"page":65,"icon":65,"section":65},"Facebook","https:\u002F\u002Ffacebook.com\u002F7span",{"link":1890},{"type":1874,"label":1891,"url":1892,"anchor_id":65,"target":919,"description":65,"page":65,"icon":65,"section":65},"Youtube","https:\u002F\u002Fyoutube.com\u002F7span",{"link":1894},{"type":1874,"label":1895,"url":1896,"anchor_id":65,"target":919,"description":65,"page":65,"icon":65,"section":65},"Discord","https:\u002F\u002F7span.in\u002Fclub",{"link":1898},{"type":1874,"label":1899,"url":1900,"anchor_id":65,"target":919,"description":65,"page":65,"icon":65,"section":65},"Dribbble","https:\u002F\u002Fdribbble.com\u002F7span",{"link":1902},{"type":1874,"label":1903,"url":1904,"anchor_id":65,"target":919,"description":65,"page":65,"icon":65,"section":65},"Behance","https:\u002F\u002Fwww.behance.net\u002F7span",{"link":1906},{"type":1874,"label":1907,"url":1908,"anchor_id":65,"target":919,"description":65,"page":65,"icon":65,"section":65},"Github","https:\u002F\u002Fgithub.com\u002F7span",{"id":46,"iso_badges":1910,"logo":1911,"logo_link":65,"links":1912},"ISO 9001:2015 | ISO 42001:2023 Certified",{"id":907,"title":908,"filename_disk":910},[1913,1918,1923],{"link":1914},{"type":912,"label":1915,"url":65,"anchor_id":65,"target":919,"description":65,"page":1916,"icon":65,"section":65},"Sitemap",{"path":1917},"\u002Fsitemap",{"link":1919},{"type":912,"label":1920,"url":65,"anchor_id":65,"target":919,"description":65,"page":1921,"icon":65,"section":65},"Refund Policy",{"path":1922},"\u002Frefund-policy",{"link":1924},{"type":912,"label":1925,"url":65,"anchor_id":65,"target":919,"description":65,"page":1926,"icon":65,"section":65},"Privacy",{"path":1927},"\u002Fprivacy-policy",{"address":1929,"contact":1944},[1930,1937],{"hem_addresse":1931},{"country":1932,"address":1933,"contact_number":1934},"India (HQ)","\u003Cp>201, iSquare Corporate Park, Ahmedabad-380060, Gujarat, India\u003C\u002Fp>",{"type":1874,"label":1935,"url":1936,"anchor_id":65,"target":919,"description":65,"page":65,"icon":65,"section":65},"+91 77 97 977 977","tel:+917797977977",{"hem_addresse":1938},{"country":1939,"address":1940,"contact_number":1941},"Canada","\u003Cp>24 Merlot Court, Timberlea, NS B3T 0C2, Canada\u003C\u002Fp>",{"type":1874,"label":1942,"url":1943,"anchor_id":65,"target":919,"description":65,"page":65,"icon":65,"section":65},"+1 902-333-0067","tel:+19023330067",[1945,1951],{"hem_contact":1946},{"label":1947,"contact_value":1948,"link":1949},"\u003Cp>For Sales\u003C\u002Fp>","YO@7SPAN.COM",{"type":1874,"label":1948,"url":1950,"anchor_id":65,"target":919,"description":65,"page":65,"icon":65,"section":65},"mailto:YO@7SPAN.COM?subject=Inquiry",{"hem_contact":1952},{"label":1953,"contact_value":1954,"link":1955},"\u003Cp>Looking For Jobs\u003C\u002Fp>","Apply Now",{"type":912,"label":1733,"url":65,"anchor_id":65,"target":65,"description":65,"page":1956,"icon":65,"section":65},{"path":1735},[1958,1976,1992],{"id":1959,"title":1960,"slug":1961,"date_published":1962,"tags":1963,"cover":1969,"author":1972},"4e931209-4a31-47ef-881a-c99cc8b18834","Secure Google & Apple Sign-In in FlutterFlow Using Custom Actions","google-and-apple-sign-in-flutter-flow","2026-01-21",[1964,1967],{"bg_tags_id":1965},{"label":1281,"slug":1966},"mobile",{"bg_tags_id":1968},{"label":70,"slug":71},{"id":1970,"filename_disk":1971},"94648f4c-8a33-4647-b692-7a4a6c075a40","94648f4c-8a33-4647-b692-7a4a6c075a40.webp",{"first_name":1973,"last_name":1974,"slug":1975},"Nikunj","Panchal","nikunj-panchal",{"id":1977,"title":1978,"slug":1979,"date_published":1962,"tags":1980,"cover":1985,"author":1988},"7ac0e918-5c7d-49f9-b22a-1fce613e3669","Optimizing Battery Usage in iOS Apps: Best Practices Guide","optimizing-battery-usage-ios-apps",[1981,1983],{"bg_tags_id":1982},{"label":1281,"slug":1966},{"bg_tags_id":1984},{"label":70,"slug":71},{"id":1986,"filename_disk":1987},"5e192d8d-7dfb-4886-b22c-c71355335e1a","5e192d8d-7dfb-4886-b22c-c71355335e1a.webp",{"first_name":1989,"last_name":1990,"slug":1991},"Jaydip","Jadav","jaydip-jadav",{"id":1993,"title":1994,"slug":1995,"date_published":1996,"tags":1997,"cover":2002,"author":2005},"5cdd91df-777d-4b1b-ac6d-73bd876d36e9","iOS App Security Best Practices 2026: Protect User Data & Business Trust","ios-app-security-best-practices","2026-01-20",[1998,2000],{"bg_tags_id":1999},{"label":1281,"slug":1966},{"bg_tags_id":2001},{"label":70,"slug":71},{"id":2003,"filename_disk":2004},"210c405a-b179-40b7-a06f-52b6902a2483","210c405a-b179-40b7-a06f-52b6902a2483.webp",{"first_name":1989,"last_name":1990,"slug":1991}]