{"id":8102,"date":"2020-02-28T16:03:23","date_gmt":"2020-02-29T00:03:23","guid":{"rendered":"https:\/\/www.couchbase.com\/blog\/?p=8102"},"modified":"2025-06-13T23:16:55","modified_gmt":"2025-06-14T06:16:55","slug":"fullstack-react-couchbase-1","status":"publish","type":"post","link":"https:\/\/www.couchbase.com\/blog\/es\/fullstack-react-couchbase-1\/","title":{"rendered":"Fullstack React y GraphQL : Couchbase"},"content":{"rendered":"<p>Primero de tres art\u00edculos enfocados a la construcci\u00f3n Fullstack con React y GraphQL con Express y Couchbase Server.<\/p>\n<ul>\n<li>Configuraci\u00f3n de un servidor NoSQL Couchbase (Parte 1)<\/li>\n<li><a href=\"https:\/\/www.couchbase.com\/blog\/es\/fullstack-react-express-2\/\">Creaci\u00f3n de una API Express-GraphQL (Parte 2)<\/a><\/li>\n<li><a href=\"https:\/\/www.couchbase.com\/blog\/es\/fullstack-react-apollo-3\/\">Crear un cliente Apollo GraphQL en React (Parte 3)<\/a><\/li>\n<li><a href=\"https:\/\/github.com\/httpJunkie\/rage-with-couchbase-final\">C\u00f3digo fuente final<\/a><\/li>\n<\/ul>\n<h2 id=\"project-overview\">Aplicaci\u00f3n Fullstack React y GraphQL<\/h2>\n<p>Construyamos un Fullstack <a href=\"https:\/\/reactjs.org\/\">Reaccione<\/a> aplicaci\u00f3n utilizando <a>GraphQL<\/a>. Este es un tutorial accesible pero esperamos cierta familiaridad con JavaScript, React, conceptos de GraphQL y NoSQL. Tambi\u00e9n usamos Docker para aprovisionar nuestro \u00fanico nodo Couchbase Server. Nos conectaremos a Couchbase a trav\u00e9s de Express-GraphQL, construido con <a href=\"https:\/\/nodejs.org\/en\/\">Node JS<\/a> y <a href=\"https:\/\/expressjs.com\/en\/api.html\">JS expr\u00e9s<\/a> utilizando <a href=\"https:\/\/github.com\/graphql\/express-graphql\">express-graphql<\/a>. A continuaci\u00f3n, consultaremos la API en React utilizando el m\u00e9todo <a href=\"https:\/\/www.apollographql.com\/docs\/react\/\">Apolo GraphQL<\/a> cliente.<\/p>\n<h3 id=\"graphql-high-level-overview\">Una visi\u00f3n general de GraphQL<\/h3>\n<p>Antes de empezar a construir esta aplicaci\u00f3n, quiero hablar de nuestra elecci\u00f3n de utilizar un <a href=\"https:\/\/spec.graphql.org\/June2018\/\">API GraphQL<\/a> en lugar de un <a href=\"https:\/\/restfulapi.net\/\">API REST<\/a>A continuaci\u00f3n, pasaremos a la configuraci\u00f3n de nuestra base de datos.<\/p>\n<p>GraphQL es un lenguaje de consulta fuertemente tipado para APIs. Es una forma declarativa de obtener datos, que est\u00e1 siendo adoptada r\u00e1pidamente por la comunidad JavaScript y otras comunidades. Permite un control granular sobre la obtenci\u00f3n de datos y ahorra tiempo al realizar llamadas adicionales a la API. Todas las consultas y mutaciones se realizan en un \u00fanico punto final, en lugar de en varios como REST. Esto significa menos c\u00f3digo que escribir gestionando URLs en React. Tambi\u00e9n una huella m\u00e1s peque\u00f1a sobre el cable. Para m\u00e1s informaci\u00f3n sobre GraphQL vs REST, sugiero una charla de Nate Barbettini titulada: <a href=\"https:\/\/www.youtube.com\/watch?v=IvsANO0qZEg\">Duelo de APIs: RPC vs REST vs GraphQL<\/a>.<\/p>\n<p>Si est\u00e1 familiarizado con JSON encontrar\u00e1 que <a href=\"https:\/\/graphql.org\/learn\/queries\/\">Sintaxis de consulta de GraphQL<\/a> f\u00e1cil de usar y sus datos f\u00e1ciles de explorar con <a href=\"https:\/\/www.electronjs.org\/apps\/graphiql\">GraphiQL<\/a>un IDE en el navegador que utilizamos para probar nuestras consultas y descubrir las posibilidades de cualquier API GraphQL.<\/p>\n<p><img decoding=\"async\" src=\"https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/2020\/01\/travel-sample-graphiql-airlinesUK.jpg\" alt=\"GraphiQL demo, get all UK airlines\" \/><\/p>\n<p>Este IDE GraphiQL ser\u00e1 \u00fatil m\u00e1s adelante cuando tengamos que probar nuestros propios puntos finales GraphQL. GraphiQL est\u00e1 disponible para todos los servidores GraphQL. Por ejemplo, GitHub tiene una de las APIs GraphQL p\u00fablicas m\u00e1s antiguas (siendo uno de los primeros en adoptarla). Te permite explorar ese gr\u00e1fico de datos usando la API <a href=\"https:\/\/developer.github.com\/v4\/explorer\/\">Explorador de la API GraphQL v4 de GitHub<\/a>.<\/p>\n<p><strong>Nota:<\/strong> GitHub ten\u00eda una de las API RESTful p\u00fablicas m\u00e1s populares conocidas por la comunidad de desarrolladores y en 2016 cambiaron a una aplicaci\u00f3n GraphQL en lugar de REST para su versi\u00f3n 4 de la API de GitHub. Esto reduce en gran medida el esfuerzo que un desarrollador tiene que pasar para utilizar la API de GitHub y hace que la experiencia del desarrollador sea mejor. Una solicitud es simplemente texto enviado a trav\u00e9s de un HTTP POST en una sintaxis que parece un h\u00edbrido entre JSON y funciones JS. La respuesta es una respuesta ligera (s\u00f3lo lo que ped\u00ed) de la API GraphQL. Estos son s\u00f3lo algunos de los beneficios que los desarrolladores obtienen del cambio de REST a GraphQL por parte de GitHub.<\/p>\n<h3 id=\"the-couchbase-datastore\">Almac\u00e9n de datos Couchbase<\/h3>\n<p>Para empezar nuestro proyecto, necesitamos datos. Vamos a abordar este proyecto como si tuvi\u00e9ramos un cliente que ya tiene una base de datos, en concreto, est\u00e1n utilizando <a href=\"https:\/\/docs.couchbase.com\/server\/6.0\/sdk\/overview.html\">Servidor Couchbase<\/a> como almac\u00e9n de documentos.<\/p>\n<p>En <a href=\"https:\/\/docs.couchbase.com\/nodejs-sdk\/current\/start-using-sdk.html\">SDK para NodeJS de Couchbase Server<\/a> proporciona las herramientas necesarias para conectarse a trav\u00e9s de Node JS y Express a nuestro servidor Couchbase y sus datos.<\/p>\n<p>Para su informaci\u00f3n, hay muchos otros SDK disponibles adem\u00e1s de <a href=\"https:\/\/docs.couchbase.com\/nodejs-sdk\/current\/start-using-sdk.html\">Node JS<\/a> para Couchbase Server, incluyendo <a href=\"https:\/\/docs.couchbase.com\/c-sdk\/current\/hello-world\/start-using-sdk.html\">C<\/a>, <a href=\"https:\/\/docs.couchbase.com\/dotnet-sdk\/current\/hello-world\/start-using-sdk.html\">.NET<\/a>, <a href=\"https:\/\/docs.couchbase.com\/go-sdk\/current\/hello-world\/start-using-sdk.html\">Vaya a<\/a>, <a href=\"https:\/\/docs.couchbase.com\/java-sdk\/current\/hello-world\/start-using-sdk.html\">Java<\/a>, <a href=\"https:\/\/docs.couchbase.com\/php-sdk\/current\/hello-world\/start-using-sdk.html\">PHP<\/a>, <a href=\"https:\/\/docs.couchbase.com\/python-sdk\/current\/hello-world\/start-using-sdk.html\">Python<\/a>y <a href=\"https:\/\/docs.couchbase.com\/scala-sdk\/current\/hello-world\/start-using-sdk.html\">Scala<\/a>.<\/p>\n<h3 id=\"put-your-sql-skills-to-work-in-nosql\">Ponga en pr\u00e1ctica sus conocimientos de SQL en NoSQL<\/h3>\n<p>Couchbase Server aprovecha tus conocimientos de SQL mediante la aplicaci\u00f3n <a href=\"https:\/\/www.couchbase.com\/blog\/es\/products\/n1ql\/\">Lenguaje de consulta de bases de datos N1QL (SQL para JSON)<\/a> que permite consultar Couchbase, un almac\u00e9n de datos de documentos NoSQL con una sintaxis casi id\u00e9ntica a SQL.<\/p>\n<h3 id=\"install-and-run-couchbase-with-docker\">Instalar y ejecutar Couchbase con Docker<\/h3>\n<p>Si decide descargar e instalar Couchbase localmente y no desea utilizar Docker, simplemente <a href=\"#install-couchbase-locally\">pase a las instrucciones de instalaci\u00f3n manual<\/a>. Para obtener ayuda sobre Docker, visite <a href=\"https:\/\/docs.docker.com\">docs.docker.com<\/a>.<\/p>\n<p>Obtener el <code>couchbase<\/code> imagen:<\/p>\n<pre class=\"highlight decode:true\"><code class=\"language-bash\">docker pull couchbase<\/code><\/pre>\n<p>Vamos a clonar un repositorio existente para obtener el archivo <code>archivo docker<\/code> y <code>configuraci\u00f3n.sh<\/code> que necesitamos:<\/p>\n<pre class=\"highlight decode:true\"><code class=\"language-bash\">git clone https:\/\/github.com\/httpJunkie\/couchbase-server &amp;&amp; cd couchbase-server &amp;&amp; chmod +x configure.sh<\/code><\/pre>\n<p>Construir una nueva imagen a partir de <code>Dockerfile<\/code> que utiliza el <code>couchbase<\/code> Docker como base:<\/p>\n<pre class=\"highlight decode:true\"><code class=\"language-bash\">docker build -t couchbase-server .<\/code><\/pre>\n<p>Ejecuta esa nueva imagen:<\/p>\n<pre class=\"highlight decode:true\"><code class=\"language-bash\">docker run -d -p 8091-8094:8091-8094 -p 11210:11210 -e CB_ADMIN_USER=Administrator -e CB_ADMIN_PASS=password --network=\"bridge\" --name cbs1 couchbase-server<\/code><\/pre>\n<p>Si tienes problemas para ejecutar el \u00faltimo comando, puede ser que no tengas una red llamada \"bridge\". En este caso, ejecute <code>docker network ls<\/code> y busque el nombre de su nombre de red y controlador por defecto y util\u00edcelo en su lugar.<\/p>\n<p>En este punto, podemos visitar <a href=\"https:\/\/localhost:8091\">localhost:8091<\/a> e inicie sesi\u00f3n con el <strong><code>Administrador<\/code><\/strong> &amp; <strong><code>contrase\u00f1a<\/code><\/strong>.<\/p>\n<h3 id=\"install-couchbase-locally\">Instalaci\u00f3n local de Couchbase<\/h3>\n<p>Si ha instalado con Docker puede <a href=\"#explore-our-bucket-in-the-console\">pasar a la secci\u00f3n siguiente<\/a>.<\/p>\n<p>El proceso de instalaci\u00f3n es muy sencillo y le cubrimos todas las necesidades. <a href=\"https:\/\/docs.couchbase.com\/server\/4.0\/install\/install-linux.html\">Linux<\/a>, <a href=\"https:\/\/docs.couchbase.com\/server\/4.0\/install\/macos-install.html\">Mac<\/a>y <a href=\"https:\/\/docs.couchbase.com\/server\/4.0\/install\/install-package-windows.html\">Windows<\/a>.<\/p>\n<p>Una vez instalado, puede acceder a la consola web del servidor Couchbase mediante <a href=\"https:\/\/localhost:8091\">localhost:8091<\/a>.<\/p>\n<p>Desde esta pantalla, puede hacer clic en \"<a href=\"https:\/\/docs.couchbase.com\/server\/6.5\/manage\/manage-nodes\/create-cluster.html\">Configurar un nuevo cl\u00faster<\/a>&#8220;.<\/p>\n<p>El nombre del cluster depende de ti y representa todos tus buckets Couchbase. El usuario y contrase\u00f1a admin es una cuenta de administrador del servidor para acceder al panel de control de todo el servidor, no es un usuario y contrase\u00f1a para conectarse a un bucket espec\u00edfico desde nuestra aplicaci\u00f3n Express. Eso lo veremos m\u00e1s adelante.<\/p>\n<p>Configur\u00e9 mi cluster con los servicios por defecto y cuotas de memoria.<\/p>\n<h3 id=\"explore-our-bucket-in-the-console\">Explore nuestro cubo en la consola<\/h3>\n<p>Accedamos al Dashboard del Servidor Couchbase y hagamos click en \"Servidores\" para ver nuestro servidor creado inicialmente.<\/p>\n<p>A continuaci\u00f3n, haga clic en \"Buckets\". A Couchbase <a href=\"https:\/\/docs.couchbase.com\/server\/current\/learn\/buckets-memory-and-storage\/buckets.html\">Cubo<\/a> es una colecci\u00f3n de documentos. Puedes \"A\u00f1adir Cubo\" para crear tu propia colecci\u00f3n de documentos, o a\u00f1adir datos de muestra. Si has seguido las instrucciones del archivo Docker el <code>viaje-muestra<\/code> ya deber\u00eda estar cargado y visible en esta pantalla.<\/p>\n<p>El uso de esta base de datos de ejemplo nos permitir\u00e1 dar el pistoletazo de salida con nuestra aplicaci\u00f3n Fullstack React y GraphQL y empezamos con Express para construir nuestra API y esto nos facilitar\u00e1 las cosas puesto que ya tenemos datos e \u00edndices configurados.<\/p>\n<p>Los \u00edndices se configuran autom\u00e1ticamente en este <code>viaje-muestra<\/code> como parte del script utilizado para instalar el bucket. Estos \u00edndices son necesarios para utilizar el lenguaje de consulta N1QL (SQL para JSON).<\/p>\n<p>Si quieres saber m\u00e1s y crear tus propios cubos e \u00edndices, <a href=\"https:\/\/www.couchbase.com\/blog\/es\/create-right-index-get-right-performance\/\">consulte este art\u00edculo<\/a>!<\/p>\n<p>Su cubo debe ser similar al cubo de la imagen de abajo:<\/p>\n<p><img decoding=\"async\" src=\"https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/2020\/01\/travel-sample-bucket.jpg\" alt=\"couchbase dashboard travel-sample bucket\" \/><\/p>\n<p>Si hacemos clic en el bot\u00f3n \"Documentos\" podemos ver algunos de los datos de nuestro Bucket:<\/p>\n<p><img decoding=\"async\" src=\"https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/2020\/01\/travel-sample-document.jpg\" alt=\"couchbase dashboard travel-sample document\" \/><\/p>\n<p>Haciendo clic en \"Editar documento como JSON\" para ver el JSON del valor de esa clave espec\u00edfica e incluso podemos editar los datos desde aqu\u00ed. \u00a1Pru\u00e9balo!<\/p>\n<p><img decoding=\"async\" src=\"https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/2020\/01\/travel-sample-edit-document.jpg\" alt=\"couchbase dashboard travel-sample edit document\" \/><\/p>\n<p>Antes de seguir adelante, queremos hacer clic en la pesta\u00f1a \"Seguridad\" y configurar un usuario para conectarse a este cubo.<\/p>\n<p>Una vez en la p\u00e1gina \"Seguridad\", haz clic en \"Crear usuario\". A\u00f1ade un nombre de usuario y una contrase\u00f1a espec\u00edficos para conectarte al bucket desde nuestra aplicaci\u00f3n Express. He utilizado mi propio nombre y coincidir\u00e1 con la informaci\u00f3n del c\u00f3digo fuente del proyecto. As\u00ed que recuerda usar tu nombre y actualizar el c\u00f3digo seg\u00fan sea necesario.<\/p>\n<p><img decoding=\"async\" src=\"https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/2020\/01\/travel-sample-user.jpg\" alt=\"couchbase dashboard travel-sample add user\" \/><\/p>\n<p>Aseg\u00farese de marcar la casilla \"Acceso a aplicaciones\" para nuestro <code>viaje-muestra<\/code> cubo. Eso es todo lo que necesitamos. Recuerda tu nombre de usuario y contrase\u00f1a, ya que los necesitaremos para conectarnos.<\/p>\n<h3 id=\"bucket-indexes\">\u00cdndices de cubos<\/h3>\n<p>Para esta demostraci\u00f3n, nuestros \u00edndices se generaron autom\u00e1ticamente. Si quisieras a\u00f1adir \u00edndices, puedes a\u00f1adirlos usando la pesta\u00f1a \"Query\" y ejecutar el SQL necesario para crearlos. Si est\u00e1s familiarizado con SQL, \u00a1crear \u00edndices para Couchbase ser\u00e1 intuitivo!<\/p>\n<p>Si quieres saber m\u00e1s sobre los \u00edndices en Couchbase, echa un vistazo a <a href=\"https:\/\/www.couchbase.com\/blog\/es\/index-advisor-service\/\">un art\u00edculo reciente<\/a> que muestra c\u00f3mo utilizar el <a href=\"https:\/\/index-advisor.couchbase.com\/indexadvisor\/#1\">Servicio Index Advisor para Couchbase<\/a>. Se trata de una nueva herramienta proporcionada junto con nuestra \u00faltima versi\u00f3n de Couchbase Server 6.5. Otro punto de inter\u00e9s puede ser nuestra <a href=\"https:\/\/docs.couchbase.com\/server\/current\/learn\/services-and-indexes\/indexes\/global-secondary-indexes.html\">\u00cdndices secundarios globales<\/a> documentaci\u00f3n.<\/p>\n<p>Estos son los \u00edndices de <code>viaje-muestra<\/code> que instalamos con Couchbase Server.<\/p>\n<p><img decoding=\"async\" src=\"https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/2020\/01\/travel-sample-indexes.jpg\" alt=\"couchbase dashboard travel-sample indexes\" \/><\/p>\n<h3 id=\"n1ql\">Menci\u00f3n r\u00e1pida sobre las consultas N1QL<\/h3>\n<p>Algo m\u00e1s que mencionar sobre Couchbase Server es el lenguaje que utilizamos para consultar nuestros documentos. Couchbase Server utiliza <a href=\"https:\/\/www.couchbase.com\/blog\/es\/products\/n1ql\/\">N1QL<\/a>. N1QL es una sintaxis similar a SQL que cualquier persona con conocimientos relacionales deber\u00eda ser capaz de entender. Es especialmente \u00fatil para consultar colecciones de documentos. Cubriremos algunos aspectos b\u00e1sicos en nuestro pr\u00f3ximo art\u00edculo cuando construyamos nuestra API GraphQL.<\/p>\n<p>Encontrar\u00e1 m\u00e1s informaci\u00f3n en <a href=\"https:\/\/docs.couchbase.com\/server\/current\/n1ql\/n1ql-language-reference\/index.html\">N1QL<\/a> en la documentaci\u00f3n, as\u00ed como informaci\u00f3n sobre el uso del <code>couchbase.get<\/code> de consulta, toda esta informaci\u00f3n se puede encontrar en nuestro <a href=\"https:\/\/docs.couchbase.com\/nodejs-sdk\/current\/core-operations.html#crud-overview\">SDK para NodeJS de Couchbase Server<\/a> docs.<\/p>\n<p>Con la configuraci\u00f3n de Couchbase ahora podemos continuar y entrar en la parte de JavaScript de la construcci\u00f3n de nuestra aplicaci\u00f3n Fullstack React y GraphQL. Vamos a pasar a la construcci\u00f3n de nuestro <a href=\"https:\/\/www.couchbase.com\/blog\/es\/fullstack-react-express-2\/\">Servidor Express-GraphQL<\/a> a continuaci\u00f3n, y luego vamos a <a href=\"https:\/\/www.couchbase.com\/blog\/es\/fullstack-react-apollo-3\/\">crear un cliente React<\/a> en el \u00faltimo segmento.<\/p>\n<p><a href=\"https:\/\/www.couchbase.com\/blog\/es\/fullstack-react-express-2\/\">Creaci\u00f3n de una API Express-GraphQL (Parte 2)<\/a><\/p>","protected":false},"excerpt":{"rendered":"<p>First of three articles focused on building Fullstack with React and GraphQL with Express and Couchbase Server. Setting up a NoSQL Couchbase Server (Part 1) Building an Express-GraphQL API (Part 2) Create Apollo GraphQL Client in React (Part 3) Final [&hellip;]<\/p>","protected":false},"author":53002,"featured_media":10875,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"_acf_changed":false,"inline_featured_image":false,"footnotes":""},"categories":[1816,1822,1812,2201],"tags":[2210,2454,1950],"ppma_author":[8922],"class_list":["post-8102","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-couchbase-server","category-node-js","category-n1ql-query","category-tools-sdks","tag-graphql","tag-react","tag-rest-api"],"acf":[],"yoast_head":"<!-- This site is optimized with the Yoast SEO Premium plugin v25.7.1 (Yoast SEO v25.7) - https:\/\/yoast.com\/wordpress\/plugins\/seo\/ -->\n<title>Build Fullstack React + GraphQL Application | Couchbase<\/title>\n<meta name=\"description\" content=\"Let\u2019s build a Fullstack React application using GraphQL application. We do expect some familiarity with JavaScript, React, GraphQL concepts, and NoSQL.\" \/>\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\/es\/fullstack-react-couchbase-1\/\" \/>\n<meta property=\"og:locale\" content=\"es_MX\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"Fullstack React and GraphQL : Couchbase\" \/>\n<meta property=\"og:description\" content=\"Let\u2019s build a Fullstack React application using GraphQL application. We do expect some familiarity with JavaScript, React, GraphQL concepts, and NoSQL.\" \/>\n<meta property=\"og:url\" content=\"https:\/\/www.couchbase.com\/blog\/es\/fullstack-react-couchbase-1\/\" \/>\n<meta property=\"og:site_name\" content=\"The Couchbase Blog\" \/>\n<meta property=\"article:published_time\" content=\"2020-02-29T00:03:23+00:00\" \/>\n<meta property=\"article:modified_time\" content=\"2025-06-14T06:16:55+00:00\" \/>\n<meta property=\"og:image\" content=\"https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/sites\/1\/2020\/02\/couchbase-server-2.jpg\" \/>\n\t<meta property=\"og:image:width\" content=\"1200\" \/>\n\t<meta property=\"og:image:height\" content=\"628\" \/>\n\t<meta property=\"og:image:type\" content=\"image\/jpeg\" \/>\n<meta name=\"author\" content=\"Eric Bishard\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:creator\" content=\"@httpJunkie\" \/>\n<meta name=\"twitter:label1\" content=\"Written by\" \/>\n\t<meta name=\"twitter:data1\" content=\"Eric Bishard\" \/>\n\t<meta name=\"twitter:label2\" content=\"Est. reading time\" \/>\n\t<meta name=\"twitter:data2\" content=\"8 minutos\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\/\/schema.org\",\"@graph\":[{\"@type\":\"Article\",\"@id\":\"https:\/\/www.couchbase.com\/blog\/fullstack-react-couchbase-1\/#article\",\"isPartOf\":{\"@id\":\"https:\/\/www.couchbase.com\/blog\/fullstack-react-couchbase-1\/\"},\"author\":{\"name\":\"Eric Bishard\",\"@id\":\"https:\/\/www.couchbase.com\/blog\/#\/schema\/person\/67d3a4b597e42370ccd34b715a6b1f4c\"},\"headline\":\"Fullstack React and GraphQL : Couchbase\",\"datePublished\":\"2020-02-29T00:03:23+00:00\",\"dateModified\":\"2025-06-14T06:16:55+00:00\",\"mainEntityOfPage\":{\"@id\":\"https:\/\/www.couchbase.com\/blog\/fullstack-react-couchbase-1\/\"},\"wordCount\":1404,\"commentCount\":0,\"publisher\":{\"@id\":\"https:\/\/www.couchbase.com\/blog\/#organization\"},\"image\":{\"@id\":\"https:\/\/www.couchbase.com\/blog\/fullstack-react-couchbase-1\/#primaryimage\"},\"thumbnailUrl\":\"https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/sites\/1\/2020\/02\/couchbase-server-2.jpg\",\"keywords\":[\"graphql\",\"React\",\"REST API\"],\"articleSection\":[\"Couchbase Server\",\"Node.js\",\"SQL++ \/ N1QL Query\",\"Tools &amp; SDKs\"],\"inLanguage\":\"es\",\"potentialAction\":[{\"@type\":\"CommentAction\",\"name\":\"Comment\",\"target\":[\"https:\/\/www.couchbase.com\/blog\/fullstack-react-couchbase-1\/#respond\"]}]},{\"@type\":\"WebPage\",\"@id\":\"https:\/\/www.couchbase.com\/blog\/fullstack-react-couchbase-1\/\",\"url\":\"https:\/\/www.couchbase.com\/blog\/fullstack-react-couchbase-1\/\",\"name\":\"Build Fullstack React + GraphQL Application | Couchbase\",\"isPartOf\":{\"@id\":\"https:\/\/www.couchbase.com\/blog\/#website\"},\"primaryImageOfPage\":{\"@id\":\"https:\/\/www.couchbase.com\/blog\/fullstack-react-couchbase-1\/#primaryimage\"},\"image\":{\"@id\":\"https:\/\/www.couchbase.com\/blog\/fullstack-react-couchbase-1\/#primaryimage\"},\"thumbnailUrl\":\"https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/sites\/1\/2020\/02\/couchbase-server-2.jpg\",\"datePublished\":\"2020-02-29T00:03:23+00:00\",\"dateModified\":\"2025-06-14T06:16:55+00:00\",\"description\":\"Let\u2019s build a Fullstack React application using GraphQL application. We do expect some familiarity with JavaScript, React, GraphQL concepts, and NoSQL.\",\"breadcrumb\":{\"@id\":\"https:\/\/www.couchbase.com\/blog\/fullstack-react-couchbase-1\/#breadcrumb\"},\"inLanguage\":\"es\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\/\/www.couchbase.com\/blog\/fullstack-react-couchbase-1\/\"]}]},{\"@type\":\"ImageObject\",\"inLanguage\":\"es\",\"@id\":\"https:\/\/www.couchbase.com\/blog\/fullstack-react-couchbase-1\/#primaryimage\",\"url\":\"https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/sites\/1\/2020\/02\/couchbase-server-2.jpg\",\"contentUrl\":\"https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/sites\/1\/2020\/02\/couchbase-server-2.jpg\",\"width\":1200,\"height\":628,\"caption\":\"RAGE With Couchbase Server Featured Image\"},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\/\/www.couchbase.com\/blog\/fullstack-react-couchbase-1\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Home\",\"item\":\"https:\/\/www.couchbase.com\/blog\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"Fullstack React and GraphQL : Couchbase\"}]},{\"@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\":\"es\"},{\"@type\":\"Organization\",\"@id\":\"https:\/\/www.couchbase.com\/blog\/#organization\",\"name\":\"The Couchbase Blog\",\"url\":\"https:\/\/www.couchbase.com\/blog\/\",\"logo\":{\"@type\":\"ImageObject\",\"inLanguage\":\"es\",\"@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\/67d3a4b597e42370ccd34b715a6b1f4c\",\"name\":\"Eric Bishard\",\"image\":{\"@type\":\"ImageObject\",\"inLanguage\":\"es\",\"@id\":\"https:\/\/www.couchbase.com\/blog\/#\/schema\/person\/image\/b7d1d2580c41d35a21654fb1abe65d23\",\"url\":\"https:\/\/secure.gravatar.com\/avatar\/a316a2658772914defd259571b8cad18878eb23c9d0cc3a97dd803deca0c09ca?s=96&d=mm&r=g\",\"contentUrl\":\"https:\/\/secure.gravatar.com\/avatar\/a316a2658772914defd259571b8cad18878eb23c9d0cc3a97dd803deca0c09ca?s=96&d=mm&r=g\",\"caption\":\"Eric Bishard\"},\"description\":\"International speaker, blogging and advocating for the JavaScript, React, GraphQL and NoSQL community working as a Senior Developer Advocate for Couchbase.\",\"sameAs\":[\"https:\/\/www.reactstateofmind.com\",\"https:\/\/www.linkedin.com\/in\/eric-b\/\",\"https:\/\/x.com\/httpJunkie\"],\"url\":\"https:\/\/www.couchbase.com\/blog\/es\/author\/eric-bishard\/\"}]}<\/script>\n<!-- \/ Yoast SEO Premium plugin. -->","yoast_head_json":{"title":"Build Fullstack React + GraphQL Application | Couchbase","description":"Let\u2019s build a Fullstack React application using GraphQL application. We do expect some familiarity with JavaScript, React, GraphQL concepts, and NoSQL.","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\/es\/fullstack-react-couchbase-1\/","og_locale":"es_MX","og_type":"article","og_title":"Fullstack React and GraphQL : Couchbase","og_description":"Let\u2019s build a Fullstack React application using GraphQL application. We do expect some familiarity with JavaScript, React, GraphQL concepts, and NoSQL.","og_url":"https:\/\/www.couchbase.com\/blog\/es\/fullstack-react-couchbase-1\/","og_site_name":"The Couchbase Blog","article_published_time":"2020-02-29T00:03:23+00:00","article_modified_time":"2025-06-14T06:16:55+00:00","og_image":[{"width":1200,"height":628,"url":"https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/sites\/1\/2020\/02\/couchbase-server-2.jpg","type":"image\/jpeg"}],"author":"Eric Bishard","twitter_card":"summary_large_image","twitter_creator":"@httpJunkie","twitter_misc":{"Written by":"Eric Bishard","Est. reading time":"8 minutos"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"Article","@id":"https:\/\/www.couchbase.com\/blog\/fullstack-react-couchbase-1\/#article","isPartOf":{"@id":"https:\/\/www.couchbase.com\/blog\/fullstack-react-couchbase-1\/"},"author":{"name":"Eric Bishard","@id":"https:\/\/www.couchbase.com\/blog\/#\/schema\/person\/67d3a4b597e42370ccd34b715a6b1f4c"},"headline":"Fullstack React and GraphQL : Couchbase","datePublished":"2020-02-29T00:03:23+00:00","dateModified":"2025-06-14T06:16:55+00:00","mainEntityOfPage":{"@id":"https:\/\/www.couchbase.com\/blog\/fullstack-react-couchbase-1\/"},"wordCount":1404,"commentCount":0,"publisher":{"@id":"https:\/\/www.couchbase.com\/blog\/#organization"},"image":{"@id":"https:\/\/www.couchbase.com\/blog\/fullstack-react-couchbase-1\/#primaryimage"},"thumbnailUrl":"https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/sites\/1\/2020\/02\/couchbase-server-2.jpg","keywords":["graphql","React","REST API"],"articleSection":["Couchbase Server","Node.js","SQL++ \/ N1QL Query","Tools &amp; SDKs"],"inLanguage":"es","potentialAction":[{"@type":"CommentAction","name":"Comment","target":["https:\/\/www.couchbase.com\/blog\/fullstack-react-couchbase-1\/#respond"]}]},{"@type":"WebPage","@id":"https:\/\/www.couchbase.com\/blog\/fullstack-react-couchbase-1\/","url":"https:\/\/www.couchbase.com\/blog\/fullstack-react-couchbase-1\/","name":"Build Fullstack React + GraphQL Application | Couchbase","isPartOf":{"@id":"https:\/\/www.couchbase.com\/blog\/#website"},"primaryImageOfPage":{"@id":"https:\/\/www.couchbase.com\/blog\/fullstack-react-couchbase-1\/#primaryimage"},"image":{"@id":"https:\/\/www.couchbase.com\/blog\/fullstack-react-couchbase-1\/#primaryimage"},"thumbnailUrl":"https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/sites\/1\/2020\/02\/couchbase-server-2.jpg","datePublished":"2020-02-29T00:03:23+00:00","dateModified":"2025-06-14T06:16:55+00:00","description":"Let\u2019s build a Fullstack React application using GraphQL application. We do expect some familiarity with JavaScript, React, GraphQL concepts, and NoSQL.","breadcrumb":{"@id":"https:\/\/www.couchbase.com\/blog\/fullstack-react-couchbase-1\/#breadcrumb"},"inLanguage":"es","potentialAction":[{"@type":"ReadAction","target":["https:\/\/www.couchbase.com\/blog\/fullstack-react-couchbase-1\/"]}]},{"@type":"ImageObject","inLanguage":"es","@id":"https:\/\/www.couchbase.com\/blog\/fullstack-react-couchbase-1\/#primaryimage","url":"https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/sites\/1\/2020\/02\/couchbase-server-2.jpg","contentUrl":"https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/sites\/1\/2020\/02\/couchbase-server-2.jpg","width":1200,"height":628,"caption":"RAGE With Couchbase Server Featured Image"},{"@type":"BreadcrumbList","@id":"https:\/\/www.couchbase.com\/blog\/fullstack-react-couchbase-1\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Home","item":"https:\/\/www.couchbase.com\/blog\/"},{"@type":"ListItem","position":2,"name":"Fullstack React and GraphQL : Couchbase"}]},{"@type":"WebSite","@id":"https:\/\/www.couchbase.com\/blog\/#website","url":"https:\/\/www.couchbase.com\/blog\/","name":"El blog de Couchbase","description":"Couchbase, la base de datos NoSQL","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":"es"},{"@type":"Organization","@id":"https:\/\/www.couchbase.com\/blog\/#organization","name":"El blog de Couchbase","url":"https:\/\/www.couchbase.com\/blog\/","logo":{"@type":"ImageObject","inLanguage":"es","@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\/67d3a4b597e42370ccd34b715a6b1f4c","name":"Eric Bishard","image":{"@type":"ImageObject","inLanguage":"es","@id":"https:\/\/www.couchbase.com\/blog\/#\/schema\/person\/image\/b7d1d2580c41d35a21654fb1abe65d23","url":"https:\/\/secure.gravatar.com\/avatar\/a316a2658772914defd259571b8cad18878eb23c9d0cc3a97dd803deca0c09ca?s=96&d=mm&r=g","contentUrl":"https:\/\/secure.gravatar.com\/avatar\/a316a2658772914defd259571b8cad18878eb23c9d0cc3a97dd803deca0c09ca?s=96&d=mm&r=g","caption":"Eric Bishard"},"description":"Conferenciante internacional, blogger y defensor de la comunidad JavaScript, React, GraphQL y NoSQL trabajando como Senior Developer Advocate para Couchbase.","sameAs":["https:\/\/www.reactstateofmind.com","https:\/\/www.linkedin.com\/in\/eric-b\/","https:\/\/x.com\/httpJunkie"],"url":"https:\/\/www.couchbase.com\/blog\/es\/author\/eric-bishard\/"}]}},"authors":[{"term_id":8922,"user_id":53002,"is_guest":0,"slug":"eric-bishard","display_name":"Eric Bishard","avatar_url":"https:\/\/secure.gravatar.com\/avatar\/a316a2658772914defd259571b8cad18878eb23c9d0cc3a97dd803deca0c09ca?s=96&d=mm&r=g","first_name":"Eric","last_name":"Bishard","user_url":"https:\/\/www.reactstateofmind.com","author_category":"","description":"Conferenciante internacional, blogger y defensor de la comunidad JavaScript, React, GraphQL y NoSQL trabajando como Senior Developer Advocate para Couchbase."}],"_links":{"self":[{"href":"https:\/\/www.couchbase.com\/blog\/es\/wp-json\/wp\/v2\/posts\/8102","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.couchbase.com\/blog\/es\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.couchbase.com\/blog\/es\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.couchbase.com\/blog\/es\/wp-json\/wp\/v2\/users\/53002"}],"replies":[{"embeddable":true,"href":"https:\/\/www.couchbase.com\/blog\/es\/wp-json\/wp\/v2\/comments?post=8102"}],"version-history":[{"count":0,"href":"https:\/\/www.couchbase.com\/blog\/es\/wp-json\/wp\/v2\/posts\/8102\/revisions"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/www.couchbase.com\/blog\/es\/wp-json\/wp\/v2\/media\/10875"}],"wp:attachment":[{"href":"https:\/\/www.couchbase.com\/blog\/es\/wp-json\/wp\/v2\/media?parent=8102"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.couchbase.com\/blog\/es\/wp-json\/wp\/v2\/categories?post=8102"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.couchbase.com\/blog\/es\/wp-json\/wp\/v2\/tags?post=8102"},{"taxonomy":"author","embeddable":true,"href":"https:\/\/www.couchbase.com\/blog\/es\/wp-json\/wp\/v2\/ppma_author?post=8102"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}