{"id":3459,"date":"2017-05-03T07:30:18","date_gmt":"2017-05-03T14:30:18","guid":{"rendered":"https:\/\/www.couchbase.com\/blog\/?p=3459"},"modified":"2025-06-13T22:49:09","modified_gmt":"2025-06-14T05:49:09","slug":"sample-application-spring-angular","status":"publish","type":"post","link":"https:\/\/www.couchbase.com\/blog\/sample-application-spring-angular\/","title":{"rendered":"Sample Application with Spring and Angular: GitTalent"},"content":{"rendered":"<div class=\"paragraph\">\n<p>One of the first big projects I was involved in after I started at Couchbase last year was helping to create a sample application that would be demonstrated at <a href=\"https:\/\/connect.couchbase.com\/mAedgr?RefId=Website\">Couchbase Connect<\/a>.<\/p>\n<\/div>\n<div class=\"sect1\">\n<h2 id=\"_sample_application\">Sample application<\/h2>\n<div class=\"sectionbody\">\n<div class=\"paragraph\">\n<p>It was an enormous team effort to create something that would be simple enough to show in a keynote demo, while being complex enough to show off the powerful new features of Couchbase Server.<\/p>\n<\/div>\n<div class=\"paragraph\">\n<p>I think the demo went really well, but you don\u2019t have to take my word for it. You can watch the demo in action below (the demo starts about 26 minutes in).<\/p>\n<\/div>\n<div class=\"paragraph\">\n<p>[youtube https:\/\/www.youtube.com\/watch?v=Bq8zkcbnRac&amp;w=560&amp;h=315]<\/p>\n<\/div>\n<div class=\"paragraph\">\n<p><em>By the way, all the <a href=\"https:\/\/connect.couchbase.com\/mAedgr?RefId=Website\">sessions from Couchbase Connect 2016<\/a> were recorded are are available for you to watch.<\/em><\/p>\n<\/div>\n<div class=\"paragraph\">\n<p>Our goal was to create a tool that we could use to empathize with users (aka <a href=\"https:\/\/en.wikipedia.org\/wiki\/Eating_your_own_dog_food\">dog fooding<\/a>), engage potential customers with a comprehensive sample application to help get them comfortable with Couchbase, and, ultimately, to show off Couchbase at our signature conference.<\/p>\n<\/div>\n<\/div>\n<\/div>\n<div class=\"sect1\">\n<h2 id=\"_gittalent_sample_application_resources\">GitTalent sample application resources<\/h2>\n<div class=\"sectionbody\">\n<div class=\"paragraph\">\n<p>The lead on the project (<a href=\"https:\/\/www.couchbase.com\/blog\/author\/laurent-doguin\/\">Laurent Doguin<\/a>) has since left Couchbase (just after I finally learned to spell his name correctly!), but one of the last things he did was make a publicly available copy of the GitTalent sample application and write an incredible, detailed book about its design and code.<\/p>\n<\/div>\n<div class=\"paragraph\">\n<p>I use the word &#8220;book&#8221; because what he wrote is exactly that. It\u2019s far too long to do it justice in a single blog post. So instead, here\u2019s a link to the <a href=\"https:\/\/github.com\/couchbaselabs\/GitTalent\/blob\/master\/GitTalent.asciidoc\">GitTalent book<\/a>. It\u2019s in AsciiDoc format, but GitHub does a pretty good job of rendering it.<\/p>\n<\/div>\n<div class=\"paragraph\">\n<p>Note that this demo was carried out completely live on stage. The specific repo used in the demo is private (for security reasons), but here\u2019s a screenshot of the commit from the demo:<\/p>\n<\/div>\n<div class=\"paragraph\">\n<p><span class=\"image\"><img decoding=\"async\" src=\"https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/2017\/05\/06701-gittalent-live-commit.png\" alt=\"Live git commit to sample application during presentation\" \/><\/span><\/p>\n<\/div>\n<div class=\"paragraph\">\n<p>The entire project is available on GitHub in the <a href=\"https:\/\/github.com\/couchbaselabs\/GitTalent\">GitTalent repository<\/a>. My contributions were mostly in writing Angular, but I also wrote some Java (believe it or not!). So if you have any questions about the project, I\u2019ll do my best to help. Please leave a comment below, or ask on the <a href=\"https:\/\/www.couchbase.com\/forums\/\">Couchbase Forums<\/a>.<\/p>\n<\/div>\n<\/div>\n<\/div>\n","protected":false},"excerpt":{"rendered":"<p>One of the first big projects I was involved in after I started at Couchbase last year was helping to create a sample application that would be demonstrated at Couchbase Connect. Sample application It was an enormous team effort to [&hellip;]<\/p>\n","protected":false},"author":71,"featured_media":3460,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"_acf_changed":false,"inline_featured_image":false,"footnotes":""},"categories":[1814,1815,1821,1816,1819,1812],"tags":[1704,1413,1424,1465],"ppma_author":[8937],"class_list":["post-3459","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-application-design","category-best-practices-and-tutorials","category-couchbase-architecture","category-couchbase-server","category-data-modeling","category-n1ql-query","tag-angular","tag-github","tag-spring","tag-spring-data"],"acf":[],"yoast_head":"<!-- This site is optimized with the Yoast SEO Premium plugin v25.8 (Yoast SEO v25.8) - https:\/\/yoast.com\/wordpress\/plugins\/seo\/ -->\n<title>Sample Application with Spring and Angular: GitTalent<\/title>\n<meta name=\"description\" content=\"Couchbase Connect 2016 featured a sample application in the keynote. The source code and instruction manual is now available.\" \/>\n<meta name=\"robots\" content=\"index, follow, max-snippet:-1, max-image-preview:large, max-video-preview:-1\" \/>\n<link rel=\"canonical\" href=\"https:\/\/www.couchbase.com\/blog\/sample-application-spring-angular\/\" \/>\n<meta property=\"og:locale\" content=\"en_US\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"Sample Application with Spring and Angular: GitTalent\" \/>\n<meta property=\"og:description\" content=\"Couchbase Connect 2016 featured a sample application in the keynote. The source code and instruction manual is now available.\" \/>\n<meta property=\"og:url\" content=\"https:\/\/www.couchbase.com\/blog\/sample-application-spring-angular\/\" \/>\n<meta property=\"og:site_name\" content=\"The Couchbase Blog\" \/>\n<meta property=\"article:published_time\" content=\"2017-05-03T14:30:18+00:00\" \/>\n<meta property=\"article:modified_time\" content=\"2025-06-14T05:49:09+00:00\" \/>\n<meta property=\"og:image\" content=\"https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/sites\/1\/2017\/05\/067-sampler-hero.jpg\" \/>\n\t<meta property=\"og:image:width\" content=\"1280\" \/>\n\t<meta property=\"og:image:height\" content=\"853\" \/>\n\t<meta property=\"og:image:type\" content=\"image\/jpeg\" \/>\n<meta name=\"author\" content=\"Matthew Groves\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:creator\" content=\"@mgroves\" \/>\n<meta name=\"twitter:label1\" content=\"Written by\" \/>\n\t<meta name=\"twitter:data1\" content=\"Matthew Groves\" \/>\n\t<meta name=\"twitter:label2\" content=\"Est. reading time\" \/>\n\t<meta name=\"twitter:data2\" content=\"2 minutes\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\/\/schema.org\",\"@graph\":[{\"@type\":\"Article\",\"@id\":\"https:\/\/www.couchbase.com\/blog\/sample-application-spring-angular\/#article\",\"isPartOf\":{\"@id\":\"https:\/\/www.couchbase.com\/blog\/sample-application-spring-angular\/\"},\"author\":{\"name\":\"Matthew Groves\",\"@id\":\"https:\/\/www.couchbase.com\/blog\/#\/schema\/person\/3929663e372020321b0152dc4fa65a58\"},\"headline\":\"Sample Application with Spring and Angular: GitTalent\",\"datePublished\":\"2017-05-03T14:30:18+00:00\",\"dateModified\":\"2025-06-14T05:49:09+00:00\",\"mainEntityOfPage\":{\"@id\":\"https:\/\/www.couchbase.com\/blog\/sample-application-spring-angular\/\"},\"wordCount\":375,\"commentCount\":0,\"publisher\":{\"@id\":\"https:\/\/www.couchbase.com\/blog\/#organization\"},\"image\":{\"@id\":\"https:\/\/www.couchbase.com\/blog\/sample-application-spring-angular\/#primaryimage\"},\"thumbnailUrl\":\"https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/sites\/1\/2017\/05\/067-sampler-hero.jpg\",\"keywords\":[\"Angular\",\"GitHub\",\"spring\",\"spring-data\"],\"articleSection\":[\"Application Design\",\"Best Practices and Tutorials\",\"Couchbase Architecture\",\"Couchbase Server\",\"Data Modeling\",\"SQL++ \/ N1QL Query\"],\"inLanguage\":\"en-US\",\"potentialAction\":[{\"@type\":\"CommentAction\",\"name\":\"Comment\",\"target\":[\"https:\/\/www.couchbase.com\/blog\/sample-application-spring-angular\/#respond\"]}]},{\"@type\":\"WebPage\",\"@id\":\"https:\/\/www.couchbase.com\/blog\/sample-application-spring-angular\/\",\"url\":\"https:\/\/www.couchbase.com\/blog\/sample-application-spring-angular\/\",\"name\":\"Sample Application with Spring and Angular: GitTalent\",\"isPartOf\":{\"@id\":\"https:\/\/www.couchbase.com\/blog\/#website\"},\"primaryImageOfPage\":{\"@id\":\"https:\/\/www.couchbase.com\/blog\/sample-application-spring-angular\/#primaryimage\"},\"image\":{\"@id\":\"https:\/\/www.couchbase.com\/blog\/sample-application-spring-angular\/#primaryimage\"},\"thumbnailUrl\":\"https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/sites\/1\/2017\/05\/067-sampler-hero.jpg\",\"datePublished\":\"2017-05-03T14:30:18+00:00\",\"dateModified\":\"2025-06-14T05:49:09+00:00\",\"description\":\"Couchbase Connect 2016 featured a sample application in the keynote. The source code and instruction manual is now available.\",\"breadcrumb\":{\"@id\":\"https:\/\/www.couchbase.com\/blog\/sample-application-spring-angular\/#breadcrumb\"},\"inLanguage\":\"en-US\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\/\/www.couchbase.com\/blog\/sample-application-spring-angular\/\"]}]},{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\/\/www.couchbase.com\/blog\/sample-application-spring-angular\/#primaryimage\",\"url\":\"https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/sites\/1\/2017\/05\/067-sampler-hero.jpg\",\"contentUrl\":\"https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/sites\/1\/2017\/05\/067-sampler-hero.jpg\",\"width\":1280,\"height\":853,\"caption\":\"Sample application\"},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\/\/www.couchbase.com\/blog\/sample-application-spring-angular\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Home\",\"item\":\"https:\/\/www.couchbase.com\/blog\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"Sample Application with Spring and Angular: GitTalent\"}]},{\"@type\":\"WebSite\",\"@id\":\"https:\/\/www.couchbase.com\/blog\/#website\",\"url\":\"https:\/\/www.couchbase.com\/blog\/\",\"name\":\"The Couchbase Blog\",\"description\":\"Couchbase, the NoSQL Database\",\"publisher\":{\"@id\":\"https:\/\/www.couchbase.com\/blog\/#organization\"},\"potentialAction\":[{\"@type\":\"SearchAction\",\"target\":{\"@type\":\"EntryPoint\",\"urlTemplate\":\"https:\/\/www.couchbase.com\/blog\/?s={search_term_string}\"},\"query-input\":{\"@type\":\"PropertyValueSpecification\",\"valueRequired\":true,\"valueName\":\"search_term_string\"}}],\"inLanguage\":\"en-US\"},{\"@type\":\"Organization\",\"@id\":\"https:\/\/www.couchbase.com\/blog\/#organization\",\"name\":\"The Couchbase Blog\",\"url\":\"https:\/\/www.couchbase.com\/blog\/\",\"logo\":{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\/\/www.couchbase.com\/blog\/#\/schema\/logo\/image\/\",\"url\":\"https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/2023\/04\/admin-logo.png\",\"contentUrl\":\"https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/2023\/04\/admin-logo.png\",\"width\":218,\"height\":34,\"caption\":\"The Couchbase Blog\"},\"image\":{\"@id\":\"https:\/\/www.couchbase.com\/blog\/#\/schema\/logo\/image\/\"}},{\"@type\":\"Person\",\"@id\":\"https:\/\/www.couchbase.com\/blog\/#\/schema\/person\/3929663e372020321b0152dc4fa65a58\",\"name\":\"Matthew Groves\",\"image\":{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\/\/www.couchbase.com\/blog\/#\/schema\/person\/image\/ba51e6aacc53995c323a634e4502ef54\",\"url\":\"https:\/\/secure.gravatar.com\/avatar\/70feb1b28a099ad0112b8d21fe1e81e1a4524beed3e20b7f107d5370e85a07ab?s=96&d=mm&r=g\",\"contentUrl\":\"https:\/\/secure.gravatar.com\/avatar\/70feb1b28a099ad0112b8d21fe1e81e1a4524beed3e20b7f107d5370e85a07ab?s=96&d=mm&r=g\",\"caption\":\"Matthew Groves\"},\"description\":\"Matthew D. Groves is a guy who loves to code. It doesn't matter if it's C#, jQuery, or PHP: he'll submit pull requests for anything. He has been coding professionally ever since he wrote a QuickBASIC point-of-sale app for his parent's pizza shop back in the 90s. He currently works as a Senior Product Marketing Manager for Couchbase. His free time is spent with his family, watching the Reds, and getting involved in the developer community. He is the author of AOP in .NET, Pro Microservices in .NET, a Pluralsight author, and a Microsoft MVP.\",\"sameAs\":[\"https:\/\/crosscuttingconcerns.com\",\"https:\/\/x.com\/mgroves\"],\"url\":\"https:\/\/www.couchbase.com\/blog\/author\/matthew-groves\/\"}]}<\/script>\n<!-- \/ Yoast SEO Premium plugin. -->","yoast_head_json":{"title":"Sample Application with Spring and Angular: GitTalent","description":"Couchbase Connect 2016 featured a sample application in the keynote. The source code and instruction manual is now available.","robots":{"index":"index","follow":"follow","max-snippet":"max-snippet:-1","max-image-preview":"max-image-preview:large","max-video-preview":"max-video-preview:-1"},"canonical":"https:\/\/www.couchbase.com\/blog\/sample-application-spring-angular\/","og_locale":"en_US","og_type":"article","og_title":"Sample Application with Spring and Angular: GitTalent","og_description":"Couchbase Connect 2016 featured a sample application in the keynote. The source code and instruction manual is now available.","og_url":"https:\/\/www.couchbase.com\/blog\/sample-application-spring-angular\/","og_site_name":"The Couchbase Blog","article_published_time":"2017-05-03T14:30:18+00:00","article_modified_time":"2025-06-14T05:49:09+00:00","og_image":[{"width":1280,"height":853,"url":"https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/sites\/1\/2017\/05\/067-sampler-hero.jpg","type":"image\/jpeg"}],"author":"Matthew Groves","twitter_card":"summary_large_image","twitter_creator":"@mgroves","twitter_misc":{"Written by":"Matthew Groves","Est. reading time":"2 minutes"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"Article","@id":"https:\/\/www.couchbase.com\/blog\/sample-application-spring-angular\/#article","isPartOf":{"@id":"https:\/\/www.couchbase.com\/blog\/sample-application-spring-angular\/"},"author":{"name":"Matthew Groves","@id":"https:\/\/www.couchbase.com\/blog\/#\/schema\/person\/3929663e372020321b0152dc4fa65a58"},"headline":"Sample Application with Spring and Angular: GitTalent","datePublished":"2017-05-03T14:30:18+00:00","dateModified":"2025-06-14T05:49:09+00:00","mainEntityOfPage":{"@id":"https:\/\/www.couchbase.com\/blog\/sample-application-spring-angular\/"},"wordCount":375,"commentCount":0,"publisher":{"@id":"https:\/\/www.couchbase.com\/blog\/#organization"},"image":{"@id":"https:\/\/www.couchbase.com\/blog\/sample-application-spring-angular\/#primaryimage"},"thumbnailUrl":"https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/sites\/1\/2017\/05\/067-sampler-hero.jpg","keywords":["Angular","GitHub","spring","spring-data"],"articleSection":["Application Design","Best Practices and Tutorials","Couchbase Architecture","Couchbase Server","Data Modeling","SQL++ \/ N1QL Query"],"inLanguage":"en-US","potentialAction":[{"@type":"CommentAction","name":"Comment","target":["https:\/\/www.couchbase.com\/blog\/sample-application-spring-angular\/#respond"]}]},{"@type":"WebPage","@id":"https:\/\/www.couchbase.com\/blog\/sample-application-spring-angular\/","url":"https:\/\/www.couchbase.com\/blog\/sample-application-spring-angular\/","name":"Sample Application with Spring and Angular: GitTalent","isPartOf":{"@id":"https:\/\/www.couchbase.com\/blog\/#website"},"primaryImageOfPage":{"@id":"https:\/\/www.couchbase.com\/blog\/sample-application-spring-angular\/#primaryimage"},"image":{"@id":"https:\/\/www.couchbase.com\/blog\/sample-application-spring-angular\/#primaryimage"},"thumbnailUrl":"https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/sites\/1\/2017\/05\/067-sampler-hero.jpg","datePublished":"2017-05-03T14:30:18+00:00","dateModified":"2025-06-14T05:49:09+00:00","description":"Couchbase Connect 2016 featured a sample application in the keynote. The source code and instruction manual is now available.","breadcrumb":{"@id":"https:\/\/www.couchbase.com\/blog\/sample-application-spring-angular\/#breadcrumb"},"inLanguage":"en-US","potentialAction":[{"@type":"ReadAction","target":["https:\/\/www.couchbase.com\/blog\/sample-application-spring-angular\/"]}]},{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/www.couchbase.com\/blog\/sample-application-spring-angular\/#primaryimage","url":"https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/sites\/1\/2017\/05\/067-sampler-hero.jpg","contentUrl":"https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/sites\/1\/2017\/05\/067-sampler-hero.jpg","width":1280,"height":853,"caption":"Sample application"},{"@type":"BreadcrumbList","@id":"https:\/\/www.couchbase.com\/blog\/sample-application-spring-angular\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Home","item":"https:\/\/www.couchbase.com\/blog\/"},{"@type":"ListItem","position":2,"name":"Sample Application with Spring and Angular: GitTalent"}]},{"@type":"WebSite","@id":"https:\/\/www.couchbase.com\/blog\/#website","url":"https:\/\/www.couchbase.com\/blog\/","name":"The Couchbase Blog","description":"Couchbase, the NoSQL Database","publisher":{"@id":"https:\/\/www.couchbase.com\/blog\/#organization"},"potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/www.couchbase.com\/blog\/?s={search_term_string}"},"query-input":{"@type":"PropertyValueSpecification","valueRequired":true,"valueName":"search_term_string"}}],"inLanguage":"en-US"},{"@type":"Organization","@id":"https:\/\/www.couchbase.com\/blog\/#organization","name":"The Couchbase Blog","url":"https:\/\/www.couchbase.com\/blog\/","logo":{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/www.couchbase.com\/blog\/#\/schema\/logo\/image\/","url":"https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/2023\/04\/admin-logo.png","contentUrl":"https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/2023\/04\/admin-logo.png","width":218,"height":34,"caption":"The Couchbase Blog"},"image":{"@id":"https:\/\/www.couchbase.com\/blog\/#\/schema\/logo\/image\/"}},{"@type":"Person","@id":"https:\/\/www.couchbase.com\/blog\/#\/schema\/person\/3929663e372020321b0152dc4fa65a58","name":"Matthew Groves","image":{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/www.couchbase.com\/blog\/#\/schema\/person\/image\/ba51e6aacc53995c323a634e4502ef54","url":"https:\/\/secure.gravatar.com\/avatar\/70feb1b28a099ad0112b8d21fe1e81e1a4524beed3e20b7f107d5370e85a07ab?s=96&d=mm&r=g","contentUrl":"https:\/\/secure.gravatar.com\/avatar\/70feb1b28a099ad0112b8d21fe1e81e1a4524beed3e20b7f107d5370e85a07ab?s=96&d=mm&r=g","caption":"Matthew Groves"},"description":"Matthew D. Groves is a guy who loves to code. It doesn't matter if it's C#, jQuery, or PHP: he'll submit pull requests for anything. He has been coding professionally ever since he wrote a QuickBASIC point-of-sale app for his parent's pizza shop back in the 90s. He currently works as a Senior Product Marketing Manager for Couchbase. His free time is spent with his family, watching the Reds, and getting involved in the developer community. He is the author of AOP in .NET, Pro Microservices in .NET, a Pluralsight author, and a Microsoft MVP.","sameAs":["https:\/\/crosscuttingconcerns.com","https:\/\/x.com\/mgroves"],"url":"https:\/\/www.couchbase.com\/blog\/author\/matthew-groves\/"}]}},"authors":[{"term_id":8937,"user_id":71,"is_guest":0,"slug":"matthew-groves","display_name":"Matthew Groves","avatar_url":"https:\/\/secure.gravatar.com\/avatar\/70feb1b28a099ad0112b8d21fe1e81e1a4524beed3e20b7f107d5370e85a07ab?s=96&d=mm&r=g","author_category":"","last_name":"Groves","first_name":"Matthew","job_title":"","user_url":"https:\/\/crosscuttingconcerns.com","description":"Matthew D. Groves is a guy who loves to code.  It doesn't matter if it's C#, jQuery, or PHP: he'll submit pull requests for anything.  He has been coding professionally ever since he wrote a QuickBASIC point-of-sale app for his parent's pizza shop back in the 90s.  He currently works as a Senior Product Marketing Manager for Couchbase. His free time is spent with his family, watching the Reds, and getting involved in the developer community.  He is the author of AOP in .NET, Pro Microservices in .NET, a Pluralsight author, and a Microsoft MVP."}],"_links":{"self":[{"href":"https:\/\/www.couchbase.com\/blog\/wp-json\/wp\/v2\/posts\/3459","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.couchbase.com\/blog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.couchbase.com\/blog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.couchbase.com\/blog\/wp-json\/wp\/v2\/users\/71"}],"replies":[{"embeddable":true,"href":"https:\/\/www.couchbase.com\/blog\/wp-json\/wp\/v2\/comments?post=3459"}],"version-history":[{"count":0,"href":"https:\/\/www.couchbase.com\/blog\/wp-json\/wp\/v2\/posts\/3459\/revisions"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/www.couchbase.com\/blog\/wp-json\/wp\/v2\/media\/3460"}],"wp:attachment":[{"href":"https:\/\/www.couchbase.com\/blog\/wp-json\/wp\/v2\/media?parent=3459"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.couchbase.com\/blog\/wp-json\/wp\/v2\/categories?post=3459"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.couchbase.com\/blog\/wp-json\/wp\/v2\/tags?post=3459"},{"taxonomy":"author","embeddable":true,"href":"https:\/\/www.couchbase.com\/blog\/wp-json\/wp\/v2\/ppma_author?post=3459"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}