{"id":41437,"date":"2024-11-18T13:16:31","date_gmt":"2024-11-18T13:16:31","guid":{"rendered":"https:\/\/www.cmarix.com\/blog\/?p=41437"},"modified":"2026-04-03T07:51:43","modified_gmt":"2026-04-03T07:51:43","slug":"to-do-list-application-with-strapi-and-reactjs","status":"publish","type":"post","link":"https:\/\/www.cmarix.com\/blog\/to-do-list-application-with-strapi-and-reactjs\/","title":{"rendered":"Build a To-Do List Application with Strapi and ReactJS"},"content":{"rendered":"\n<p>A To-Do List application aids with holistic task management by letting you create, edit, and organize your tasks. Using Strapi for the backend and ReactJS for the frontend, you can build a dynamic, efficient to-do list app. Integrating React with Strapi gives you a powerful, scalable solution for your web development projects.<\/p>\n\n\n\n<p>This guide shows you how to use Strapi with React, but it\u2019s not exhaustive. We won\u2019t cover user authentication, API access control, or full website building with React for web development. If you&#8217;re looking for more details, consider exploring more fundamental Strapi examples or <a href=\"https:\/\/www.cmarix.com\/reactjs-development.html\">ReactJS development services<\/a> to expand your skills.<\/p>\n\n\n\n<p>To follow this guide, you need to know the fundamentals of:<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li>ReactJS,<\/li>\n\n\n\n<li>Strapi, and<\/li>\n\n\n\n<li>RESTful APIs.<\/li>\n<\/ul>\n\n\n\n<p>No need for advanced Strapi with React skills. Just make sure NodeJS version 12+ is installed, along with npm or yarn.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">What is Strapi?<\/h2>\n\n\n\n<p>Strapi is an open-source headless CMS (not based on any preliminary GUI). It lets you build powerful APIs quickly. With Strapi React integration, you can create flexible, dynamic applications. Strapi Frontend is highly customizable, easy to use, and supports RESTful and GraphQL APIs. It\u2019s ideal for managing content without worrying about the frontend\u2014simple yet robust.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">Configuring Strapi<\/h2>\n\n\n\n<p>First, we create a Strapi app to get started. Admins can use this app to manage backend operations. You can set it up using either npm or yarn:<\/p>\n\n\n\n<p><strong>npm<\/strong>:<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>npx create-strapi-app todo-list --quickstart<\/code><\/pre>\n\n\n\n<p><strong>yarn<\/strong>:<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>yarn install global create-strapi-app\nyarn create-strapi-app todo-list --quickstart<\/code><\/pre>\n\n\n\n<p><strong>For yarn version 3 and above:<\/strong><\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>yarn dlx create-strapi-app todo-list --quickstart<\/code><\/pre>\n\n\n\n<p>After finishing creating the app, we run it in development mode. This mode sets up a local server where we can:<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li>Manipulate data collections<\/li>\n\n\n\n<li>Create API endpoints<\/li>\n\n\n\n<li>Configure third-party authentication<\/li>\n\n\n\n<li>Set up normal authentication<\/li>\n<\/ul>\n\n\n\n<p>Start development mode by running these commands in the to-do-list folder:<\/p>\n\n\n\n<p><strong>npm:<\/strong><\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>npm run develop<\/code><\/pre>\n\n\n\n<p><strong>yarn:<\/strong><\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>yarn run develop<\/code><\/pre>\n\n\n\n<p>Type &#8220;<code>http:\/\/localhost:1337\/admin<\/code>&#8221; in your browser. You&#8217;ll see a dashboard where you can set up an admin account.<\/p>\n\n\n\n<figure class=\"wp-block-image\"><img decoding=\"async\" width=\"1280\" height=\"800\" src=\"https:\/\/www.cmarix.com\/blog\/wp-content\/uploads\/2024\/11\/AD_4nXd7QSiHuWHVfs2_dtdVT3bUdGLMCRBooRSiu3JqTV_XYSHdOX__NQlwgLNgzhZqRMjF123vJMyPmat3KJ94dDm6jVEEAsuqxdlydzUAuMvRIZVnncwlp8ED2UhhqBwwOw3uxKDmtoOYAjznuxyXj87puXwethFPthkJOJaEvJ4knPIiCKcoU6s.png\" alt=\"Strapi\" class=\"wp-image-41450\" srcset=\"https:\/\/www.cmarix.com\/blog\/wp-content\/uploads\/2024\/11\/AD_4nXd7QSiHuWHVfs2_dtdVT3bUdGLMCRBooRSiu3JqTV_XYSHdOX__NQlwgLNgzhZqRMjF123vJMyPmat3KJ94dDm6jVEEAsuqxdlydzUAuMvRIZVnncwlp8ED2UhhqBwwOw3uxKDmtoOYAjznuxyXj87puXwethFPthkJOJaEvJ4knPIiCKcoU6s.png 1280w, https:\/\/www.cmarix.com\/blog\/wp-content\/uploads\/2024\/11\/AD_4nXd7QSiHuWHVfs2_dtdVT3bUdGLMCRBooRSiu3JqTV_XYSHdOX__NQlwgLNgzhZqRMjF123vJMyPmat3KJ94dDm6jVEEAsuqxdlydzUAuMvRIZVnncwlp8ED2UhhqBwwOw3uxKDmtoOYAjznuxyXj87puXwethFPthkJOJaEvJ4knPIiCKcoU6s-400x250.png 400w, https:\/\/www.cmarix.com\/blog\/wp-content\/uploads\/2024\/11\/AD_4nXd7QSiHuWHVfs2_dtdVT3bUdGLMCRBooRSiu3JqTV_XYSHdOX__NQlwgLNgzhZqRMjF123vJMyPmat3KJ94dDm6jVEEAsuqxdlydzUAuMvRIZVnncwlp8ED2UhhqBwwOw3uxKDmtoOYAjznuxyXj87puXwethFPthkJOJaEvJ4knPIiCKcoU6s-1024x640.png 1024w, https:\/\/www.cmarix.com\/blog\/wp-content\/uploads\/2024\/11\/AD_4nXd7QSiHuWHVfs2_dtdVT3bUdGLMCRBooRSiu3JqTV_XYSHdOX__NQlwgLNgzhZqRMjF123vJMyPmat3KJ94dDm6jVEEAsuqxdlydzUAuMvRIZVnncwlp8ED2UhhqBwwOw3uxKDmtoOYAjznuxyXj87puXwethFPthkJOJaEvJ4knPIiCKcoU6s-768x480.png 768w\" sizes=\"(max-width: 1280px) 100vw, 1280px\" \/><\/figure>\n\n\n\n<p>This account grants exclusive access to backend operations, ensuring your app\u2019s security.<\/p>\n\n\n\n<p>Once logged in, the dashboard gives you control over everything. You\u2019ll be able to manage collections, create APIs, and much more with ease.<\/p>\n\n\n\n<figure class=\"wp-block-image\"><img decoding=\"async\" width=\"1280\" height=\"800\" src=\"https:\/\/www.cmarix.com\/blog\/wp-content\/uploads\/2024\/11\/AD_4nXcpgphP77ldtcjWQOQ6f8tioHfvlhXoPbyW5vsRIrMDu6T9UFzlv31UgAZbh17d8qlMA65_rQx2dPZ1-UlGduZtXDSU0mbFfu-fvXy_kfAx4PKJ5eS44lnqXhzYIh8H6gSWAlZxJQ5_K6a6uc7c5oWBICcOdLMn6gvv9gXxTI4tmCfJXU5LhW0.png\" alt=\"Welcome on Board Strapi\" class=\"wp-image-41451\" srcset=\"https:\/\/www.cmarix.com\/blog\/wp-content\/uploads\/2024\/11\/AD_4nXcpgphP77ldtcjWQOQ6f8tioHfvlhXoPbyW5vsRIrMDu6T9UFzlv31UgAZbh17d8qlMA65_rQx2dPZ1-UlGduZtXDSU0mbFfu-fvXy_kfAx4PKJ5eS44lnqXhzYIh8H6gSWAlZxJQ5_K6a6uc7c5oWBICcOdLMn6gvv9gXxTI4tmCfJXU5LhW0.png 1280w, https:\/\/www.cmarix.com\/blog\/wp-content\/uploads\/2024\/11\/AD_4nXcpgphP77ldtcjWQOQ6f8tioHfvlhXoPbyW5vsRIrMDu6T9UFzlv31UgAZbh17d8qlMA65_rQx2dPZ1-UlGduZtXDSU0mbFfu-fvXy_kfAx4PKJ5eS44lnqXhzYIh8H6gSWAlZxJQ5_K6a6uc7c5oWBICcOdLMn6gvv9gXxTI4tmCfJXU5LhW0-400x250.png 400w, https:\/\/www.cmarix.com\/blog\/wp-content\/uploads\/2024\/11\/AD_4nXcpgphP77ldtcjWQOQ6f8tioHfvlhXoPbyW5vsRIrMDu6T9UFzlv31UgAZbh17d8qlMA65_rQx2dPZ1-UlGduZtXDSU0mbFfu-fvXy_kfAx4PKJ5eS44lnqXhzYIh8H6gSWAlZxJQ5_K6a6uc7c5oWBICcOdLMn6gvv9gXxTI4tmCfJXU5LhW0-1024x640.png 1024w, https:\/\/www.cmarix.com\/blog\/wp-content\/uploads\/2024\/11\/AD_4nXcpgphP77ldtcjWQOQ6f8tioHfvlhXoPbyW5vsRIrMDu6T9UFzlv31UgAZbh17d8qlMA65_rQx2dPZ1-UlGduZtXDSU0mbFfu-fvXy_kfAx4PKJ5eS44lnqXhzYIh8H6gSWAlZxJQ5_K6a6uc7c5oWBICcOdLMn6gvv9gXxTI4tmCfJXU5LhW0-768x480.png 768w\" sizes=\"(max-width: 1280px) 100vw, 1280px\" \/><\/figure>\n\n\n\n<figure class=\"wp-block-image size-full\"><a href=\"https:\/\/www.cmarix.com\/inquiry.html\"><img decoding=\"async\" width=\"951\" height=\"271\" src=\"https:\/\/www.cmarix.com\/blog\/wp-content\/uploads\/2024\/11\/Want-To-Build-a-To-Do-List-Application-with-Strapi-and-ReactJS.webp\" alt=\"Want To Build a To-Do List Application with Strapi and ReactJS\" class=\"wp-image-41448\" srcset=\"https:\/\/www.cmarix.com\/blog\/wp-content\/uploads\/2024\/11\/Want-To-Build-a-To-Do-List-Application-with-Strapi-and-ReactJS.webp 951w, https:\/\/www.cmarix.com\/blog\/wp-content\/uploads\/2024\/11\/Want-To-Build-a-To-Do-List-Application-with-Strapi-and-ReactJS-400x114.webp 400w, https:\/\/www.cmarix.com\/blog\/wp-content\/uploads\/2024\/11\/Want-To-Build-a-To-Do-List-Application-with-Strapi-and-ReactJS-768x219.webp 768w\" sizes=\"(max-width: 951px) 100vw, 951px\" \/><\/a><\/figure>\n\n\n\n<h2 class=\"wp-block-heading\">Backend Development<\/h2>\n\n\n\n<p>Now, let\u2019s configure the app\u2019s backend. It\u2019s mandatory for data flows within the app. Follow these steps:<\/p>\n\n\n\n<h3 class=\"wp-block-heading\">Step 1: Create a To-Do Collection<\/h3>\n\n\n\n<p>A <strong>collection <\/strong>consists of similar data structures. For each collection, Strapi automatically creates an <strong>API <\/strong>endpoint. To create our &#8220;Todo&#8221; collection:<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li>Go to the <strong>Content-Type Builder<\/strong> section under <strong>plugins<\/strong>. This is where we build collections.<\/li>\n<\/ul>\n\n\n\n<figure class=\"wp-block-image\"><img decoding=\"async\" width=\"1280\" height=\"800\" src=\"https:\/\/www.cmarix.com\/blog\/wp-content\/uploads\/2024\/11\/AD_4nXeu0xM7me9J5TowQOp5X7O4jSbHE3KO6eLpjjLdqa4HtCKt-hmd1PR7VUrohy39fY0c5sdS-YjYHDiRMmpI0SxN8uhcprwiIHou7XxqyhsZdjiQm4m4fTm-0jLbBVc02QB-oXA64zvlWuLWiFGJa2xNVHwRpCNNuYNLiHqqRwwv0hL_GYdZzWk.png\" alt=\"Welcome on board\" class=\"wp-image-41469\" srcset=\"https:\/\/www.cmarix.com\/blog\/wp-content\/uploads\/2024\/11\/AD_4nXeu0xM7me9J5TowQOp5X7O4jSbHE3KO6eLpjjLdqa4HtCKt-hmd1PR7VUrohy39fY0c5sdS-YjYHDiRMmpI0SxN8uhcprwiIHou7XxqyhsZdjiQm4m4fTm-0jLbBVc02QB-oXA64zvlWuLWiFGJa2xNVHwRpCNNuYNLiHqqRwwv0hL_GYdZzWk.png 1280w, https:\/\/www.cmarix.com\/blog\/wp-content\/uploads\/2024\/11\/AD_4nXeu0xM7me9J5TowQOp5X7O4jSbHE3KO6eLpjjLdqa4HtCKt-hmd1PR7VUrohy39fY0c5sdS-YjYHDiRMmpI0SxN8uhcprwiIHou7XxqyhsZdjiQm4m4fTm-0jLbBVc02QB-oXA64zvlWuLWiFGJa2xNVHwRpCNNuYNLiHqqRwwv0hL_GYdZzWk-400x250.png 400w, https:\/\/www.cmarix.com\/blog\/wp-content\/uploads\/2024\/11\/AD_4nXeu0xM7me9J5TowQOp5X7O4jSbHE3KO6eLpjjLdqa4HtCKt-hmd1PR7VUrohy39fY0c5sdS-YjYHDiRMmpI0SxN8uhcprwiIHou7XxqyhsZdjiQm4m4fTm-0jLbBVc02QB-oXA64zvlWuLWiFGJa2xNVHwRpCNNuYNLiHqqRwwv0hL_GYdZzWk-1024x640.png 1024w, https:\/\/www.cmarix.com\/blog\/wp-content\/uploads\/2024\/11\/AD_4nXeu0xM7me9J5TowQOp5X7O4jSbHE3KO6eLpjjLdqa4HtCKt-hmd1PR7VUrohy39fY0c5sdS-YjYHDiRMmpI0SxN8uhcprwiIHou7XxqyhsZdjiQm4m4fTm-0jLbBVc02QB-oXA64zvlWuLWiFGJa2xNVHwRpCNNuYNLiHqqRwwv0hL_GYdZzWk-768x480.png 768w\" sizes=\"(max-width: 1280px) 100vw, 1280px\" \/><\/figure>\n\n\n\n<ul class=\"wp-block-list\">\n<li>Click on <strong>Create new collection type<\/strong>.<\/li>\n<\/ul>\n\n\n\n<figure class=\"wp-block-image\"><img decoding=\"async\" width=\"1280\" height=\"800\" src=\"https:\/\/www.cmarix.com\/blog\/wp-content\/uploads\/2024\/11\/AD_4nXfX3rxgmbcq13HxlJWAoptcdBJCZijpGJT4V506eb1DvXBpKH5JKvx2DhQOh4XluvB-oQ7fNcas0kwp9nKFMarkpvfFUotjUMKHxReDo33_1nwvXpaS979oe_2AVlbEnFJ8Q5OFbRuQt4Z0FxnweXAaFhM9fk9vrwPCs-zefoYaKeCBXjPClaQ.png\" alt=\"User\" class=\"wp-image-41453\" srcset=\"https:\/\/www.cmarix.com\/blog\/wp-content\/uploads\/2024\/11\/AD_4nXfX3rxgmbcq13HxlJWAoptcdBJCZijpGJT4V506eb1DvXBpKH5JKvx2DhQOh4XluvB-oQ7fNcas0kwp9nKFMarkpvfFUotjUMKHxReDo33_1nwvXpaS979oe_2AVlbEnFJ8Q5OFbRuQt4Z0FxnweXAaFhM9fk9vrwPCs-zefoYaKeCBXjPClaQ.png 1280w, https:\/\/www.cmarix.com\/blog\/wp-content\/uploads\/2024\/11\/AD_4nXfX3rxgmbcq13HxlJWAoptcdBJCZijpGJT4V506eb1DvXBpKH5JKvx2DhQOh4XluvB-oQ7fNcas0kwp9nKFMarkpvfFUotjUMKHxReDo33_1nwvXpaS979oe_2AVlbEnFJ8Q5OFbRuQt4Z0FxnweXAaFhM9fk9vrwPCs-zefoYaKeCBXjPClaQ-400x250.png 400w, https:\/\/www.cmarix.com\/blog\/wp-content\/uploads\/2024\/11\/AD_4nXfX3rxgmbcq13HxlJWAoptcdBJCZijpGJT4V506eb1DvXBpKH5JKvx2DhQOh4XluvB-oQ7fNcas0kwp9nKFMarkpvfFUotjUMKHxReDo33_1nwvXpaS979oe_2AVlbEnFJ8Q5OFbRuQt4Z0FxnweXAaFhM9fk9vrwPCs-zefoYaKeCBXjPClaQ-1024x640.png 1024w, https:\/\/www.cmarix.com\/blog\/wp-content\/uploads\/2024\/11\/AD_4nXfX3rxgmbcq13HxlJWAoptcdBJCZijpGJT4V506eb1DvXBpKH5JKvx2DhQOh4XluvB-oQ7fNcas0kwp9nKFMarkpvfFUotjUMKHxReDo33_1nwvXpaS979oe_2AVlbEnFJ8Q5OFbRuQt4Z0FxnweXAaFhM9fk9vrwPCs-zefoYaKeCBXjPClaQ-768x480.png 768w\" sizes=\"(max-width: 1280px) 100vw, 1280px\" \/><\/figure>\n\n\n\n<ul class=\"wp-block-list\">\n<li>In the prompt, name it <strong>&#8220;Todo&#8221;<\/strong> (or anything else if you prefer). Strapi will auto-fill the rest of the fields based on this name.<\/li>\n<\/ul>\n\n\n\n<figure class=\"wp-block-image\"><img decoding=\"async\" width=\"1280\" height=\"800\" src=\"https:\/\/www.cmarix.com\/blog\/wp-content\/uploads\/2024\/11\/AD_4nXcojZbjpynMZXDAFcx_UN2O08zHUoU29LzXwICIcIP69fPpuX4SYvV0P5uk1DX3nJ0cHEOVh1wqbms02QzVwlBqLWp1y0auo6KcO9tpD-mqdp9xgAGQBdZUAwWo0YK6FwHqBFCVRF6oUjyFoxL2N0HPaDn35p-e0E0KjzOI2CkYUDfZSXNyy_Y.png\" alt=\"display name\" class=\"wp-image-41458\" srcset=\"https:\/\/www.cmarix.com\/blog\/wp-content\/uploads\/2024\/11\/AD_4nXcojZbjpynMZXDAFcx_UN2O08zHUoU29LzXwICIcIP69fPpuX4SYvV0P5uk1DX3nJ0cHEOVh1wqbms02QzVwlBqLWp1y0auo6KcO9tpD-mqdp9xgAGQBdZUAwWo0YK6FwHqBFCVRF6oUjyFoxL2N0HPaDn35p-e0E0KjzOI2CkYUDfZSXNyy_Y.png 1280w, https:\/\/www.cmarix.com\/blog\/wp-content\/uploads\/2024\/11\/AD_4nXcojZbjpynMZXDAFcx_UN2O08zHUoU29LzXwICIcIP69fPpuX4SYvV0P5uk1DX3nJ0cHEOVh1wqbms02QzVwlBqLWp1y0auo6KcO9tpD-mqdp9xgAGQBdZUAwWo0YK6FwHqBFCVRF6oUjyFoxL2N0HPaDn35p-e0E0KjzOI2CkYUDfZSXNyy_Y-400x250.png 400w, https:\/\/www.cmarix.com\/blog\/wp-content\/uploads\/2024\/11\/AD_4nXcojZbjpynMZXDAFcx_UN2O08zHUoU29LzXwICIcIP69fPpuX4SYvV0P5uk1DX3nJ0cHEOVh1wqbms02QzVwlBqLWp1y0auo6KcO9tpD-mqdp9xgAGQBdZUAwWo0YK6FwHqBFCVRF6oUjyFoxL2N0HPaDn35p-e0E0KjzOI2CkYUDfZSXNyy_Y-1024x640.png 1024w, https:\/\/www.cmarix.com\/blog\/wp-content\/uploads\/2024\/11\/AD_4nXcojZbjpynMZXDAFcx_UN2O08zHUoU29LzXwICIcIP69fPpuX4SYvV0P5uk1DX3nJ0cHEOVh1wqbms02QzVwlBqLWp1y0auo6KcO9tpD-mqdp9xgAGQBdZUAwWo0YK6FwHqBFCVRF6oUjyFoxL2N0HPaDn35p-e0E0KjzOI2CkYUDfZSXNyy_Y-768x480.png 768w\" sizes=\"(max-width: 1280px) 100vw, 1280px\" \/><\/figure>\n\n\n\n<ul class=\"wp-block-list\">\n<li>Hit <strong>Continue<\/strong> to proceed.<\/li>\n<\/ul>\n\n\n\n<figure class=\"wp-block-image\"><img decoding=\"async\" width=\"1280\" height=\"800\" src=\"https:\/\/www.cmarix.com\/blog\/wp-content\/uploads\/2024\/11\/AD_4nXfW8gx0NXPkMmdyDOOrjfRIrIOiylsZPF2ceERjwnDkoAxnuKMw14feYJJjR2LoFHSTZuWy0c1Ys32iO6Pp7RnXuqsq2idEDhhziqHO1CNbULN7ehBFaWiQM7v6_821dt77bjNix104gyU2Djw5YZNmPtRl0wjFbS3AxCJNizZF54cY0eGd4w.png\" alt=\"create a collection type\" class=\"wp-image-41454\" srcset=\"https:\/\/www.cmarix.com\/blog\/wp-content\/uploads\/2024\/11\/AD_4nXfW8gx0NXPkMmdyDOOrjfRIrIOiylsZPF2ceERjwnDkoAxnuKMw14feYJJjR2LoFHSTZuWy0c1Ys32iO6Pp7RnXuqsq2idEDhhziqHO1CNbULN7ehBFaWiQM7v6_821dt77bjNix104gyU2Djw5YZNmPtRl0wjFbS3AxCJNizZF54cY0eGd4w.png 1280w, https:\/\/www.cmarix.com\/blog\/wp-content\/uploads\/2024\/11\/AD_4nXfW8gx0NXPkMmdyDOOrjfRIrIOiylsZPF2ceERjwnDkoAxnuKMw14feYJJjR2LoFHSTZuWy0c1Ys32iO6Pp7RnXuqsq2idEDhhziqHO1CNbULN7ehBFaWiQM7v6_821dt77bjNix104gyU2Djw5YZNmPtRl0wjFbS3AxCJNizZF54cY0eGd4w-400x250.png 400w, https:\/\/www.cmarix.com\/blog\/wp-content\/uploads\/2024\/11\/AD_4nXfW8gx0NXPkMmdyDOOrjfRIrIOiylsZPF2ceERjwnDkoAxnuKMw14feYJJjR2LoFHSTZuWy0c1Ys32iO6Pp7RnXuqsq2idEDhhziqHO1CNbULN7ehBFaWiQM7v6_821dt77bjNix104gyU2Djw5YZNmPtRl0wjFbS3AxCJNizZF54cY0eGd4w-1024x640.png 1024w, https:\/\/www.cmarix.com\/blog\/wp-content\/uploads\/2024\/11\/AD_4nXfW8gx0NXPkMmdyDOOrjfRIrIOiylsZPF2ceERjwnDkoAxnuKMw14feYJJjR2LoFHSTZuWy0c1Ys32iO6Pp7RnXuqsq2idEDhhziqHO1CNbULN7ehBFaWiQM7v6_821dt77bjNix104gyU2Djw5YZNmPtRl0wjFbS3AxCJNizZF54cY0eGd4w-768x480.png 768w\" sizes=\"(max-width: 1280px) 100vw, 1280px\" \/><\/figure>\n\n\n\n<ul class=\"wp-block-list\">\n<li>Next, we\u2019ll add a field to the collection.<\/li>\n\n\n\n<li>For the to-do item description, add a <strong>text field<\/strong>.<\/li>\n<\/ul>\n\n\n\n<figure class=\"wp-block-image\"><img decoding=\"async\" width=\"1280\" height=\"800\" src=\"https:\/\/www.cmarix.com\/blog\/wp-content\/uploads\/2024\/11\/AD_4nXd9KQoVQ9yxF54fysn1gu5NgNmommPPz06UDCWa6DH3xEkYLiH3f7JHFI4nUnsGN_nic-bcIW7Ibksf-dY9707iIYS4tDxoVldpaPrUbZy9_D4wcrbHyh1Oij1HlVLgWMf-xFtUjYQg4eU4tG_yAyLwsyVS8mSqLg6l9qbxJYgTMUUxdjVcWg.png\" alt=\"Text\" class=\"wp-image-41463\" srcset=\"https:\/\/www.cmarix.com\/blog\/wp-content\/uploads\/2024\/11\/AD_4nXd9KQoVQ9yxF54fysn1gu5NgNmommPPz06UDCWa6DH3xEkYLiH3f7JHFI4nUnsGN_nic-bcIW7Ibksf-dY9707iIYS4tDxoVldpaPrUbZy9_D4wcrbHyh1Oij1HlVLgWMf-xFtUjYQg4eU4tG_yAyLwsyVS8mSqLg6l9qbxJYgTMUUxdjVcWg.png 1280w, https:\/\/www.cmarix.com\/blog\/wp-content\/uploads\/2024\/11\/AD_4nXd9KQoVQ9yxF54fysn1gu5NgNmommPPz06UDCWa6DH3xEkYLiH3f7JHFI4nUnsGN_nic-bcIW7Ibksf-dY9707iIYS4tDxoVldpaPrUbZy9_D4wcrbHyh1Oij1HlVLgWMf-xFtUjYQg4eU4tG_yAyLwsyVS8mSqLg6l9qbxJYgTMUUxdjVcWg-400x250.png 400w, https:\/\/www.cmarix.com\/blog\/wp-content\/uploads\/2024\/11\/AD_4nXd9KQoVQ9yxF54fysn1gu5NgNmommPPz06UDCWa6DH3xEkYLiH3f7JHFI4nUnsGN_nic-bcIW7Ibksf-dY9707iIYS4tDxoVldpaPrUbZy9_D4wcrbHyh1Oij1HlVLgWMf-xFtUjYQg4eU4tG_yAyLwsyVS8mSqLg6l9qbxJYgTMUUxdjVcWg-1024x640.png 1024w, https:\/\/www.cmarix.com\/blog\/wp-content\/uploads\/2024\/11\/AD_4nXd9KQoVQ9yxF54fysn1gu5NgNmommPPz06UDCWa6DH3xEkYLiH3f7JHFI4nUnsGN_nic-bcIW7Ibksf-dY9707iIYS4tDxoVldpaPrUbZy9_D4wcrbHyh1Oij1HlVLgWMf-xFtUjYQg4eU4tG_yAyLwsyVS8mSqLg6l9qbxJYgTMUUxdjVcWg-768x480.png 768w\" sizes=\"(max-width: 1280px) 100vw, 1280px\" \/><\/figure>\n\n\n\n<ul class=\"wp-block-list\">\n<li>Name the field <strong>&#8220;item&#8221;<\/strong> (feel free to change it) and choose the <strong>long text<\/strong> option.<\/li>\n<\/ul>\n\n\n\n<figure class=\"wp-block-image\"><img decoding=\"async\" width=\"1280\" height=\"800\" src=\"https:\/\/www.cmarix.com\/blog\/wp-content\/uploads\/2024\/11\/AD_4nXcQ0wNOBdanqLr1i8FijuPCHrbK0RIAIeQk3lyTuKIDnB2mX-yWJevNDmskjmyPgrvIkrA-6dmO4nEqUNdko0wKQ17w8gvOfaKZiZRMseugMaE47G8hIZA1xz7Q79AK6dDi_LnzgfeLBU8jWbu7ovHc8v_wKGnZhUK2Puj9n02VDYQxH8hjAwM.png\" alt=\"todo add new Text field -1 \" class=\"wp-image-41455\" srcset=\"https:\/\/www.cmarix.com\/blog\/wp-content\/uploads\/2024\/11\/AD_4nXcQ0wNOBdanqLr1i8FijuPCHrbK0RIAIeQk3lyTuKIDnB2mX-yWJevNDmskjmyPgrvIkrA-6dmO4nEqUNdko0wKQ17w8gvOfaKZiZRMseugMaE47G8hIZA1xz7Q79AK6dDi_LnzgfeLBU8jWbu7ovHc8v_wKGnZhUK2Puj9n02VDYQxH8hjAwM.png 1280w, https:\/\/www.cmarix.com\/blog\/wp-content\/uploads\/2024\/11\/AD_4nXcQ0wNOBdanqLr1i8FijuPCHrbK0RIAIeQk3lyTuKIDnB2mX-yWJevNDmskjmyPgrvIkrA-6dmO4nEqUNdko0wKQ17w8gvOfaKZiZRMseugMaE47G8hIZA1xz7Q79AK6dDi_LnzgfeLBU8jWbu7ovHc8v_wKGnZhUK2Puj9n02VDYQxH8hjAwM-400x250.png 400w, https:\/\/www.cmarix.com\/blog\/wp-content\/uploads\/2024\/11\/AD_4nXcQ0wNOBdanqLr1i8FijuPCHrbK0RIAIeQk3lyTuKIDnB2mX-yWJevNDmskjmyPgrvIkrA-6dmO4nEqUNdko0wKQ17w8gvOfaKZiZRMseugMaE47G8hIZA1xz7Q79AK6dDi_LnzgfeLBU8jWbu7ovHc8v_wKGnZhUK2Puj9n02VDYQxH8hjAwM-1024x640.png 1024w, https:\/\/www.cmarix.com\/blog\/wp-content\/uploads\/2024\/11\/AD_4nXcQ0wNOBdanqLr1i8FijuPCHrbK0RIAIeQk3lyTuKIDnB2mX-yWJevNDmskjmyPgrvIkrA-6dmO4nEqUNdko0wKQ17w8gvOfaKZiZRMseugMaE47G8hIZA1xz7Q79AK6dDi_LnzgfeLBU8jWbu7ovHc8v_wKGnZhUK2Puj9n02VDYQxH8hjAwM-768x480.png 768w\" sizes=\"(max-width: 1280px) 100vw, 1280px\" \/><\/figure>\n\n\n\n<ul class=\"wp-block-list\">\n<li>Finally, click <strong>Finish<\/strong> to save the field.&nbsp;<\/li>\n<\/ul>\n\n\n\n<figure class=\"wp-block-image\"><img decoding=\"async\" width=\"1280\" height=\"800\" src=\"https:\/\/www.cmarix.com\/blog\/wp-content\/uploads\/2024\/11\/AD_4nXdHQR9QHzb1ZzeYtSpybpqOo-LNz_3c5n1xmdO3kYqmVHiiDiUmnGWowVkjkcKiUS53Y5NpYtfXTy_EaAfH8nOB4kMjqmKwzGEfc77aR_O7h6I03c77cY5CsXhM-AWih-ik_Nj7HnGetppjy9uhl65XCpEvQOzk230fugnNC-V-Nse1aD2I-Q.png\" alt=\"todo add new Text field\" class=\"wp-image-41460\" srcset=\"https:\/\/www.cmarix.com\/blog\/wp-content\/uploads\/2024\/11\/AD_4nXdHQR9QHzb1ZzeYtSpybpqOo-LNz_3c5n1xmdO3kYqmVHiiDiUmnGWowVkjkcKiUS53Y5NpYtfXTy_EaAfH8nOB4kMjqmKwzGEfc77aR_O7h6I03c77cY5CsXhM-AWih-ik_Nj7HnGetppjy9uhl65XCpEvQOzk230fugnNC-V-Nse1aD2I-Q.png 1280w, https:\/\/www.cmarix.com\/blog\/wp-content\/uploads\/2024\/11\/AD_4nXdHQR9QHzb1ZzeYtSpybpqOo-LNz_3c5n1xmdO3kYqmVHiiDiUmnGWowVkjkcKiUS53Y5NpYtfXTy_EaAfH8nOB4kMjqmKwzGEfc77aR_O7h6I03c77cY5CsXhM-AWih-ik_Nj7HnGetppjy9uhl65XCpEvQOzk230fugnNC-V-Nse1aD2I-Q-400x250.png 400w, https:\/\/www.cmarix.com\/blog\/wp-content\/uploads\/2024\/11\/AD_4nXdHQR9QHzb1ZzeYtSpybpqOo-LNz_3c5n1xmdO3kYqmVHiiDiUmnGWowVkjkcKiUS53Y5NpYtfXTy_EaAfH8nOB4kMjqmKwzGEfc77aR_O7h6I03c77cY5CsXhM-AWih-ik_Nj7HnGetppjy9uhl65XCpEvQOzk230fugnNC-V-Nse1aD2I-Q-1024x640.png 1024w, https:\/\/www.cmarix.com\/blog\/wp-content\/uploads\/2024\/11\/AD_4nXdHQR9QHzb1ZzeYtSpybpqOo-LNz_3c5n1xmdO3kYqmVHiiDiUmnGWowVkjkcKiUS53Y5NpYtfXTy_EaAfH8nOB4kMjqmKwzGEfc77aR_O7h6I03c77cY5CsXhM-AWih-ik_Nj7HnGetppjy9uhl65XCpEvQOzk230fugnNC-V-Nse1aD2I-Q-768x480.png 768w\" sizes=\"(max-width: 1280px) 100vw, 1280px\" \/><\/figure>\n\n\n\n<ul class=\"wp-block-list\">\n<li>Then, hit <strong>Save<\/strong> to register the collection in the app.<\/li>\n<\/ul>\n\n\n\n<figure class=\"wp-block-image\"><img decoding=\"async\" width=\"1280\" height=\"800\" src=\"https:\/\/www.cmarix.com\/blog\/wp-content\/uploads\/2024\/11\/AD_4nXeZdA0iu9FxNDCLqxF5XMqegQyewcEF4Rh6ZXJdoOghuth_q2Vomz4tvBPfbhCLdMgXd18CML92UbLy85MwdnmVrPtyrpKbjxHJr0KOjI61rp86dAAyJw515SmRAUleVdDUxDcJRmMxtUg7UDa7r2oga6ilcRE-d6VKwQOhN1qMVgszBPKUKUU.png\" alt=\"todo name\" class=\"wp-image-41466\" srcset=\"https:\/\/www.cmarix.com\/blog\/wp-content\/uploads\/2024\/11\/AD_4nXeZdA0iu9FxNDCLqxF5XMqegQyewcEF4Rh6ZXJdoOghuth_q2Vomz4tvBPfbhCLdMgXd18CML92UbLy85MwdnmVrPtyrpKbjxHJr0KOjI61rp86dAAyJw515SmRAUleVdDUxDcJRmMxtUg7UDa7r2oga6ilcRE-d6VKwQOhN1qMVgszBPKUKUU.png 1280w, https:\/\/www.cmarix.com\/blog\/wp-content\/uploads\/2024\/11\/AD_4nXeZdA0iu9FxNDCLqxF5XMqegQyewcEF4Rh6ZXJdoOghuth_q2Vomz4tvBPfbhCLdMgXd18CML92UbLy85MwdnmVrPtyrpKbjxHJr0KOjI61rp86dAAyJw515SmRAUleVdDUxDcJRmMxtUg7UDa7r2oga6ilcRE-d6VKwQOhN1qMVgszBPKUKUU-400x250.png 400w, https:\/\/www.cmarix.com\/blog\/wp-content\/uploads\/2024\/11\/AD_4nXeZdA0iu9FxNDCLqxF5XMqegQyewcEF4Rh6ZXJdoOghuth_q2Vomz4tvBPfbhCLdMgXd18CML92UbLy85MwdnmVrPtyrpKbjxHJr0KOjI61rp86dAAyJw515SmRAUleVdDUxDcJRmMxtUg7UDa7r2oga6ilcRE-d6VKwQOhN1qMVgszBPKUKUU-1024x640.png 1024w, https:\/\/www.cmarix.com\/blog\/wp-content\/uploads\/2024\/11\/AD_4nXeZdA0iu9FxNDCLqxF5XMqegQyewcEF4Rh6ZXJdoOghuth_q2Vomz4tvBPfbhCLdMgXd18CML92UbLy85MwdnmVrPtyrpKbjxHJr0KOjI61rp86dAAyJw515SmRAUleVdDUxDcJRmMxtUg7UDa7r2oga6ilcRE-d6VKwQOhN1qMVgszBPKUKUU-768x480.png 768w\" sizes=\"(max-width: 1280px) 100vw, 1280px\" \/><\/figure>\n\n\n\n<p>When Strapi finishes applying changes, the server restarts. Your collection is now ready for use!<\/p>\n\n\n\n<h3 class=\"wp-block-heading\">Step 2: Add Test Entries<\/h3>\n\n\n\n<p>Now that the collection is set up, it\u2019s time to add some test entries. This helps us confirm that the collection is processing data correctly. Here&#8217;s how to add entries:<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li>Go to <strong>Content Manager<\/strong>. This is where you can manage all your collection entries.<\/li>\n<\/ul>\n\n\n\n<figure class=\"wp-block-image\"><img decoding=\"async\" width=\"1280\" height=\"800\" src=\"https:\/\/www.cmarix.com\/blog\/wp-content\/uploads\/2024\/11\/AD_4nXcqfbsRsNhWB8q5BQ0pod4m6x3qSDTw4qDUJ0xArJPBULiUvO3VkkBZUXbQSTuPkGq3f1Uo_DefKX2PXHuJclnqgGw3BTRoZFGL8zAjoMDTpwNnkTcApWmFId6574sspS_jV6HP7itKLzChlPOsMQ0_KyAzWlP_G02c3l225bkONdGWAlSp_g.png\" alt=\"Todo content\" class=\"wp-image-41461\" srcset=\"https:\/\/www.cmarix.com\/blog\/wp-content\/uploads\/2024\/11\/AD_4nXcqfbsRsNhWB8q5BQ0pod4m6x3qSDTw4qDUJ0xArJPBULiUvO3VkkBZUXbQSTuPkGq3f1Uo_DefKX2PXHuJclnqgGw3BTRoZFGL8zAjoMDTpwNnkTcApWmFId6574sspS_jV6HP7itKLzChlPOsMQ0_KyAzWlP_G02c3l225bkONdGWAlSp_g.png 1280w, https:\/\/www.cmarix.com\/blog\/wp-content\/uploads\/2024\/11\/AD_4nXcqfbsRsNhWB8q5BQ0pod4m6x3qSDTw4qDUJ0xArJPBULiUvO3VkkBZUXbQSTuPkGq3f1Uo_DefKX2PXHuJclnqgGw3BTRoZFGL8zAjoMDTpwNnkTcApWmFId6574sspS_jV6HP7itKLzChlPOsMQ0_KyAzWlP_G02c3l225bkONdGWAlSp_g-400x250.png 400w, https:\/\/www.cmarix.com\/blog\/wp-content\/uploads\/2024\/11\/AD_4nXcqfbsRsNhWB8q5BQ0pod4m6x3qSDTw4qDUJ0xArJPBULiUvO3VkkBZUXbQSTuPkGq3f1Uo_DefKX2PXHuJclnqgGw3BTRoZFGL8zAjoMDTpwNnkTcApWmFId6574sspS_jV6HP7itKLzChlPOsMQ0_KyAzWlP_G02c3l225bkONdGWAlSp_g-1024x640.png 1024w, https:\/\/www.cmarix.com\/blog\/wp-content\/uploads\/2024\/11\/AD_4nXcqfbsRsNhWB8q5BQ0pod4m6x3qSDTw4qDUJ0xArJPBULiUvO3VkkBZUXbQSTuPkGq3f1Uo_DefKX2PXHuJclnqgGw3BTRoZFGL8zAjoMDTpwNnkTcApWmFId6574sspS_jV6HP7itKLzChlPOsMQ0_KyAzWlP_G02c3l225bkONdGWAlSp_g-768x480.png 768w\" sizes=\"(max-width: 1280px) 100vw, 1280px\" \/><\/figure>\n\n\n\n<ul class=\"wp-block-list\">\n<li>Create a new entry under the Todo collection by clicking the <strong>Create new entry<\/strong> button.<\/li>\n<\/ul>\n\n\n\n<figure class=\"wp-block-image\"><img decoding=\"async\" width=\"1280\" height=\"800\" src=\"https:\/\/www.cmarix.com\/blog\/wp-content\/uploads\/2024\/11\/AD_4nXdD6IojXhVLjeiRYFhN1f6tgssWya-qrd0ptX2iq8AW8JGsIrhaKR_DQ79IFMN8KYFh9liBKGjg4I209rdICzmUUOUtYJOCftnxFSiB9c74OvoEMKFsPfWsN_aGq1HCCv5-nTpYE_1UezawzDm23Egc71XzFj1j8qX0ru5Ih-lVkMp5ArKYqK4.png\" alt=\"todo - 2\" class=\"wp-image-41471\" srcset=\"https:\/\/www.cmarix.com\/blog\/wp-content\/uploads\/2024\/11\/AD_4nXdD6IojXhVLjeiRYFhN1f6tgssWya-qrd0ptX2iq8AW8JGsIrhaKR_DQ79IFMN8KYFh9liBKGjg4I209rdICzmUUOUtYJOCftnxFSiB9c74OvoEMKFsPfWsN_aGq1HCCv5-nTpYE_1UezawzDm23Egc71XzFj1j8qX0ru5Ih-lVkMp5ArKYqK4.png 1280w, https:\/\/www.cmarix.com\/blog\/wp-content\/uploads\/2024\/11\/AD_4nXdD6IojXhVLjeiRYFhN1f6tgssWya-qrd0ptX2iq8AW8JGsIrhaKR_DQ79IFMN8KYFh9liBKGjg4I209rdICzmUUOUtYJOCftnxFSiB9c74OvoEMKFsPfWsN_aGq1HCCv5-nTpYE_1UezawzDm23Egc71XzFj1j8qX0ru5Ih-lVkMp5ArKYqK4-400x250.png 400w, https:\/\/www.cmarix.com\/blog\/wp-content\/uploads\/2024\/11\/AD_4nXdD6IojXhVLjeiRYFhN1f6tgssWya-qrd0ptX2iq8AW8JGsIrhaKR_DQ79IFMN8KYFh9liBKGjg4I209rdICzmUUOUtYJOCftnxFSiB9c74OvoEMKFsPfWsN_aGq1HCCv5-nTpYE_1UezawzDm23Egc71XzFj1j8qX0ru5Ih-lVkMp5ArKYqK4-1024x640.png 1024w, https:\/\/www.cmarix.com\/blog\/wp-content\/uploads\/2024\/11\/AD_4nXdD6IojXhVLjeiRYFhN1f6tgssWya-qrd0ptX2iq8AW8JGsIrhaKR_DQ79IFMN8KYFh9liBKGjg4I209rdICzmUUOUtYJOCftnxFSiB9c74OvoEMKFsPfWsN_aGq1HCCv5-nTpYE_1UezawzDm23Egc71XzFj1j8qX0ru5Ih-lVkMp5ArKYqK4-768x480.png 768w\" sizes=\"(max-width: 1280px) 100vw, 1280px\" \/><\/figure>\n\n\n\n<ul class=\"wp-block-list\">\n<li>In the <strong>&#8220;item&#8221;<\/strong> field, enter some text.<\/li>\n<\/ul>\n\n\n\n<figure class=\"wp-block-image\"><img decoding=\"async\" width=\"1280\" height=\"800\" src=\"https:\/\/www.cmarix.com\/blog\/wp-content\/uploads\/2024\/11\/AD_4nXdMP64XnSyesB7dSmWyl8zJWgNetxJ4sXUigxb9mmkC7CsB3FLX0BKQChzcAIAHAH4y6ZMgXNUG8faMOvEtKpPy9v0kJDuDCOH6YlipjdqXjROi6ejfPIhZ7eRHGYggbh92HaA8PoLu9IhamP8KfUfb-LarNDWtf3jxX1swfKHzoO9galDMO9M.png\" alt=\"Create an entry 1\" class=\"wp-image-41457\" srcset=\"https:\/\/www.cmarix.com\/blog\/wp-content\/uploads\/2024\/11\/AD_4nXdMP64XnSyesB7dSmWyl8zJWgNetxJ4sXUigxb9mmkC7CsB3FLX0BKQChzcAIAHAH4y6ZMgXNUG8faMOvEtKpPy9v0kJDuDCOH6YlipjdqXjROi6ejfPIhZ7eRHGYggbh92HaA8PoLu9IhamP8KfUfb-LarNDWtf3jxX1swfKHzoO9galDMO9M.png 1280w, https:\/\/www.cmarix.com\/blog\/wp-content\/uploads\/2024\/11\/AD_4nXdMP64XnSyesB7dSmWyl8zJWgNetxJ4sXUigxb9mmkC7CsB3FLX0BKQChzcAIAHAH4y6ZMgXNUG8faMOvEtKpPy9v0kJDuDCOH6YlipjdqXjROi6ejfPIhZ7eRHGYggbh92HaA8PoLu9IhamP8KfUfb-LarNDWtf3jxX1swfKHzoO9galDMO9M-400x250.png 400w, https:\/\/www.cmarix.com\/blog\/wp-content\/uploads\/2024\/11\/AD_4nXdMP64XnSyesB7dSmWyl8zJWgNetxJ4sXUigxb9mmkC7CsB3FLX0BKQChzcAIAHAH4y6ZMgXNUG8faMOvEtKpPy9v0kJDuDCOH6YlipjdqXjROi6ejfPIhZ7eRHGYggbh92HaA8PoLu9IhamP8KfUfb-LarNDWtf3jxX1swfKHzoO9galDMO9M-1024x640.png 1024w, https:\/\/www.cmarix.com\/blog\/wp-content\/uploads\/2024\/11\/AD_4nXdMP64XnSyesB7dSmWyl8zJWgNetxJ4sXUigxb9mmkC7CsB3FLX0BKQChzcAIAHAH4y6ZMgXNUG8faMOvEtKpPy9v0kJDuDCOH6YlipjdqXjROi6ejfPIhZ7eRHGYggbh92HaA8PoLu9IhamP8KfUfb-LarNDWtf3jxX1swfKHzoO9galDMO9M-768x480.png 768w\" sizes=\"(max-width: 1280px) 100vw, 1280px\" \/><\/figure>\n\n\n\n<ul class=\"wp-block-list\">\n<li>Save it as a <strong>draft<\/strong> first.<\/li>\n<\/ul>\n\n\n\n<figure class=\"wp-block-image\"><img decoding=\"async\" width=\"1280\" height=\"800\" src=\"https:\/\/www.cmarix.com\/blog\/wp-content\/uploads\/2024\/11\/AD_4nXeRvsYteVISg2Dny-L0Ua4G3hbA9xZ9bIAdI4a8S4ME_lhLlJgwj_DvzDv5OwEvU-x7YsiBz8HaDv56PrHkR2WbDVRmKgXxrFDg3OZBJ506sWFdVZeEbYKORZ2KJFOfvGiAVkghV8VYOGNCGa362MXHhC-A1sOOq7sl-hXCze8r1NitHFtq5Eo.png\" alt=\"Create an entry\" class=\"wp-image-41470\" srcset=\"https:\/\/www.cmarix.com\/blog\/wp-content\/uploads\/2024\/11\/AD_4nXeRvsYteVISg2Dny-L0Ua4G3hbA9xZ9bIAdI4a8S4ME_lhLlJgwj_DvzDv5OwEvU-x7YsiBz8HaDv56PrHkR2WbDVRmKgXxrFDg3OZBJ506sWFdVZeEbYKORZ2KJFOfvGiAVkghV8VYOGNCGa362MXHhC-A1sOOq7sl-hXCze8r1NitHFtq5Eo.png 1280w, https:\/\/www.cmarix.com\/blog\/wp-content\/uploads\/2024\/11\/AD_4nXeRvsYteVISg2Dny-L0Ua4G3hbA9xZ9bIAdI4a8S4ME_lhLlJgwj_DvzDv5OwEvU-x7YsiBz8HaDv56PrHkR2WbDVRmKgXxrFDg3OZBJ506sWFdVZeEbYKORZ2KJFOfvGiAVkghV8VYOGNCGa362MXHhC-A1sOOq7sl-hXCze8r1NitHFtq5Eo-400x250.png 400w, https:\/\/www.cmarix.com\/blog\/wp-content\/uploads\/2024\/11\/AD_4nXeRvsYteVISg2Dny-L0Ua4G3hbA9xZ9bIAdI4a8S4ME_lhLlJgwj_DvzDv5OwEvU-x7YsiBz8HaDv56PrHkR2WbDVRmKgXxrFDg3OZBJ506sWFdVZeEbYKORZ2KJFOfvGiAVkghV8VYOGNCGa362MXHhC-A1sOOq7sl-hXCze8r1NitHFtq5Eo-1024x640.png 1024w, https:\/\/www.cmarix.com\/blog\/wp-content\/uploads\/2024\/11\/AD_4nXeRvsYteVISg2Dny-L0Ua4G3hbA9xZ9bIAdI4a8S4ME_lhLlJgwj_DvzDv5OwEvU-x7YsiBz8HaDv56PrHkR2WbDVRmKgXxrFDg3OZBJ506sWFdVZeEbYKORZ2KJFOfvGiAVkghV8VYOGNCGa362MXHhC-A1sOOq7sl-hXCze8r1NitHFtq5Eo-768x480.png 768w\" sizes=\"(max-width: 1280px) 100vw, 1280px\" \/><\/figure>\n\n\n\n<ul class=\"wp-block-list\">\n<li>Then, hit <strong>Publish<\/strong> to officially add it to the collection.<\/li>\n<\/ul>\n\n\n\n<figure class=\"wp-block-image\"><img decoding=\"async\" width=\"1280\" height=\"800\" src=\"https:\/\/www.cmarix.com\/blog\/wp-content\/uploads\/2024\/11\/AD_4nXftRfZRsKZF82IuMtZY9b9CjD5oXAuA5pT4Aq6OkOoKz2i-hK4p-2CMsE5nF2NkX0a-Z6mFv_swrSIm9j6SUHDrjUCku90Ko9fcyIfbr93JKR3MIPNyNvQhTXZM8nlibzNhO5HtLnv0JQjLYjDcFfUCCr_TP8hOKb0KLEBkCAzW04rdwRlKOg.png\" alt=\"todo tasks\" class=\"wp-image-41464\" srcset=\"https:\/\/www.cmarix.com\/blog\/wp-content\/uploads\/2024\/11\/AD_4nXftRfZRsKZF82IuMtZY9b9CjD5oXAuA5pT4Aq6OkOoKz2i-hK4p-2CMsE5nF2NkX0a-Z6mFv_swrSIm9j6SUHDrjUCku90Ko9fcyIfbr93JKR3MIPNyNvQhTXZM8nlibzNhO5HtLnv0JQjLYjDcFfUCCr_TP8hOKb0KLEBkCAzW04rdwRlKOg.png 1280w, https:\/\/www.cmarix.com\/blog\/wp-content\/uploads\/2024\/11\/AD_4nXftRfZRsKZF82IuMtZY9b9CjD5oXAuA5pT4Aq6OkOoKz2i-hK4p-2CMsE5nF2NkX0a-Z6mFv_swrSIm9j6SUHDrjUCku90Ko9fcyIfbr93JKR3MIPNyNvQhTXZM8nlibzNhO5HtLnv0JQjLYjDcFfUCCr_TP8hOKb0KLEBkCAzW04rdwRlKOg-400x250.png 400w, https:\/\/www.cmarix.com\/blog\/wp-content\/uploads\/2024\/11\/AD_4nXftRfZRsKZF82IuMtZY9b9CjD5oXAuA5pT4Aq6OkOoKz2i-hK4p-2CMsE5nF2NkX0a-Z6mFv_swrSIm9j6SUHDrjUCku90Ko9fcyIfbr93JKR3MIPNyNvQhTXZM8nlibzNhO5HtLnv0JQjLYjDcFfUCCr_TP8hOKb0KLEBkCAzW04rdwRlKOg-1024x640.png 1024w, https:\/\/www.cmarix.com\/blog\/wp-content\/uploads\/2024\/11\/AD_4nXftRfZRsKZF82IuMtZY9b9CjD5oXAuA5pT4Aq6OkOoKz2i-hK4p-2CMsE5nF2NkX0a-Z6mFv_swrSIm9j6SUHDrjUCku90Ko9fcyIfbr93JKR3MIPNyNvQhTXZM8nlibzNhO5HtLnv0JQjLYjDcFfUCCr_TP8hOKb0KLEBkCAzW04rdwRlKOg-768x480.png 768w\" sizes=\"(max-width: 1280px) 100vw, 1280px\" \/><\/figure>\n\n\n\n<ul class=\"wp-block-list\">\n<li>Make sure you <strong>repeat these steps<\/strong> at least twice so that you have two entries in your collection. With this, you can start testing how <strong>Strapi with React<\/strong> handles data flow.<\/li>\n<\/ul>\n\n\n\n<figure class=\"wp-block-image\"><img decoding=\"async\" width=\"1280\" height=\"800\" src=\"https:\/\/www.cmarix.com\/blog\/wp-content\/uploads\/2024\/11\/AD_4nXfQkQ1s18UYikSP2fTG7rbUKk1Sg4ZQGFmZF1CsYDLqo14TAWqxf-GvBVPbO7KMhQTzwOfRFdsaNGRDuBGWfN6PO9zQpKGg5_tadb9diDpgUvP-nZ-MQi7J2AuwjzKbmXm-LBon7BYoAaqRNUkgsp8f2MwZl8ieAH6bsKpj0wYRL9RJ6mGtKj4.png\" alt=\"Todo -1\" class=\"wp-image-41465\" srcset=\"https:\/\/www.cmarix.com\/blog\/wp-content\/uploads\/2024\/11\/AD_4nXfQkQ1s18UYikSP2fTG7rbUKk1Sg4ZQGFmZF1CsYDLqo14TAWqxf-GvBVPbO7KMhQTzwOfRFdsaNGRDuBGWfN6PO9zQpKGg5_tadb9diDpgUvP-nZ-MQi7J2AuwjzKbmXm-LBon7BYoAaqRNUkgsp8f2MwZl8ieAH6bsKpj0wYRL9RJ6mGtKj4.png 1280w, https:\/\/www.cmarix.com\/blog\/wp-content\/uploads\/2024\/11\/AD_4nXfQkQ1s18UYikSP2fTG7rbUKk1Sg4ZQGFmZF1CsYDLqo14TAWqxf-GvBVPbO7KMhQTzwOfRFdsaNGRDuBGWfN6PO9zQpKGg5_tadb9diDpgUvP-nZ-MQi7J2AuwjzKbmXm-LBon7BYoAaqRNUkgsp8f2MwZl8ieAH6bsKpj0wYRL9RJ6mGtKj4-400x250.png 400w, https:\/\/www.cmarix.com\/blog\/wp-content\/uploads\/2024\/11\/AD_4nXfQkQ1s18UYikSP2fTG7rbUKk1Sg4ZQGFmZF1CsYDLqo14TAWqxf-GvBVPbO7KMhQTzwOfRFdsaNGRDuBGWfN6PO9zQpKGg5_tadb9diDpgUvP-nZ-MQi7J2AuwjzKbmXm-LBon7BYoAaqRNUkgsp8f2MwZl8ieAH6bsKpj0wYRL9RJ6mGtKj4-1024x640.png 1024w, https:\/\/www.cmarix.com\/blog\/wp-content\/uploads\/2024\/11\/AD_4nXfQkQ1s18UYikSP2fTG7rbUKk1Sg4ZQGFmZF1CsYDLqo14TAWqxf-GvBVPbO7KMhQTzwOfRFdsaNGRDuBGWfN6PO9zQpKGg5_tadb9diDpgUvP-nZ-MQi7J2AuwjzKbmXm-LBon7BYoAaqRNUkgsp8f2MwZl8ieAH6bsKpj0wYRL9RJ6mGtKj4-768x480.png 768w\" sizes=\"(max-width: 1280px) 100vw, 1280px\" \/><\/figure>\n\n\n\n<h3 class=\"wp-block-heading\">Step 3: API Endpoint Generation for Our Collection<\/h3>\n\n\n\n<p>Next, we create an <strong>API<\/strong> endpoint to connect our frontend to the <strong>Todo<\/strong> collection. It lets the frontend and data interact with each other. Follow these steps:<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li>Go to <strong>Settings<\/strong> under <strong>General<\/strong>.<\/li>\n<\/ul>\n\n\n\n<figure class=\"wp-block-image\"><img decoding=\"async\" width=\"1280\" height=\"800\" src=\"https:\/\/www.cmarix.com\/blog\/wp-content\/uploads\/2024\/11\/AD_4nXcQNcEfskucTQHi3pBsNoSpDaQRtXgDhC3fGVYDm3r7Kh199Dh9KTvDAheFfhoTM8vgWgA0Q9Zy3hss2ezaBtg9OVTZWFNkWAoULLbFL5gsA6m8EssN6JssPD-BO7MwU3yiJXo32qIbEZxGWYVCAb-RNfkHQGFwKCmZiMDdaKdYptgDTaB5TYk.png\" alt=\"Welcome\" class=\"wp-image-41452\" srcset=\"https:\/\/www.cmarix.com\/blog\/wp-content\/uploads\/2024\/11\/AD_4nXcQNcEfskucTQHi3pBsNoSpDaQRtXgDhC3fGVYDm3r7Kh199Dh9KTvDAheFfhoTM8vgWgA0Q9Zy3hss2ezaBtg9OVTZWFNkWAoULLbFL5gsA6m8EssN6JssPD-BO7MwU3yiJXo32qIbEZxGWYVCAb-RNfkHQGFwKCmZiMDdaKdYptgDTaB5TYk.png 1280w, https:\/\/www.cmarix.com\/blog\/wp-content\/uploads\/2024\/11\/AD_4nXcQNcEfskucTQHi3pBsNoSpDaQRtXgDhC3fGVYDm3r7Kh199Dh9KTvDAheFfhoTM8vgWgA0Q9Zy3hss2ezaBtg9OVTZWFNkWAoULLbFL5gsA6m8EssN6JssPD-BO7MwU3yiJXo32qIbEZxGWYVCAb-RNfkHQGFwKCmZiMDdaKdYptgDTaB5TYk-400x250.png 400w, https:\/\/www.cmarix.com\/blog\/wp-content\/uploads\/2024\/11\/AD_4nXcQNcEfskucTQHi3pBsNoSpDaQRtXgDhC3fGVYDm3r7Kh199Dh9KTvDAheFfhoTM8vgWgA0Q9Zy3hss2ezaBtg9OVTZWFNkWAoULLbFL5gsA6m8EssN6JssPD-BO7MwU3yiJXo32qIbEZxGWYVCAb-RNfkHQGFwKCmZiMDdaKdYptgDTaB5TYk-1024x640.png 1024w, https:\/\/www.cmarix.com\/blog\/wp-content\/uploads\/2024\/11\/AD_4nXcQNcEfskucTQHi3pBsNoSpDaQRtXgDhC3fGVYDm3r7Kh199Dh9KTvDAheFfhoTM8vgWgA0Q9Zy3hss2ezaBtg9OVTZWFNkWAoULLbFL5gsA6m8EssN6JssPD-BO7MwU3yiJXo32qIbEZxGWYVCAb-RNfkHQGFwKCmZiMDdaKdYptgDTaB5TYk-768x480.png 768w\" sizes=\"(max-width: 1280px) 100vw, 1280px\" \/><\/figure>\n\n\n\n<ul class=\"wp-block-list\">\n<li>Under <strong>User Permissions &amp; Roles<\/strong>, you\u2019ll find <strong>Roles<\/strong>. Click on it.<\/li>\n<\/ul>\n\n\n\n<figure class=\"wp-block-image\"><img decoding=\"async\" width=\"1280\" height=\"800\" src=\"https:\/\/www.cmarix.com\/blog\/wp-content\/uploads\/2024\/11\/AD_4nXdH5fG-nUBg29GgqRYOjjQEnvcaavYkaf8gSp9liXYkghOSCGzAX8ijtaZoy6lefOxfEduJBQFeZx-4jY8HMPS67wGtZ1L2cnSWfDCeKUxRzhZnEGV3lGbucGbDiSgGp8ok_T5xCwAUeF4Ncz5pCgo1H4bIbwxy4U0pFj7N0-2KG8WlModD19c.png\" alt=\"Overview\" class=\"wp-image-41459\" srcset=\"https:\/\/www.cmarix.com\/blog\/wp-content\/uploads\/2024\/11\/AD_4nXdH5fG-nUBg29GgqRYOjjQEnvcaavYkaf8gSp9liXYkghOSCGzAX8ijtaZoy6lefOxfEduJBQFeZx-4jY8HMPS67wGtZ1L2cnSWfDCeKUxRzhZnEGV3lGbucGbDiSgGp8ok_T5xCwAUeF4Ncz5pCgo1H4bIbwxy4U0pFj7N0-2KG8WlModD19c.png 1280w, https:\/\/www.cmarix.com\/blog\/wp-content\/uploads\/2024\/11\/AD_4nXdH5fG-nUBg29GgqRYOjjQEnvcaavYkaf8gSp9liXYkghOSCGzAX8ijtaZoy6lefOxfEduJBQFeZx-4jY8HMPS67wGtZ1L2cnSWfDCeKUxRzhZnEGV3lGbucGbDiSgGp8ok_T5xCwAUeF4Ncz5pCgo1H4bIbwxy4U0pFj7N0-2KG8WlModD19c-400x250.png 400w, https:\/\/www.cmarix.com\/blog\/wp-content\/uploads\/2024\/11\/AD_4nXdH5fG-nUBg29GgqRYOjjQEnvcaavYkaf8gSp9liXYkghOSCGzAX8ijtaZoy6lefOxfEduJBQFeZx-4jY8HMPS67wGtZ1L2cnSWfDCeKUxRzhZnEGV3lGbucGbDiSgGp8ok_T5xCwAUeF4Ncz5pCgo1H4bIbwxy4U0pFj7N0-2KG8WlModD19c-1024x640.png 1024w, https:\/\/www.cmarix.com\/blog\/wp-content\/uploads\/2024\/11\/AD_4nXdH5fG-nUBg29GgqRYOjjQEnvcaavYkaf8gSp9liXYkghOSCGzAX8ijtaZoy6lefOxfEduJBQFeZx-4jY8HMPS67wGtZ1L2cnSWfDCeKUxRzhZnEGV3lGbucGbDiSgGp8ok_T5xCwAUeF4Ncz5pCgo1H4bIbwxy4U0pFj7N0-2KG8WlModD19c-768x480.png 768w\" sizes=\"(max-width: 1280px) 100vw, 1280px\" \/><\/figure>\n\n\n\n<ul class=\"wp-block-list\">\n<li>Select <strong>Public<\/strong> to modify the permissions for public access.<\/li>\n<\/ul>\n\n\n\n<figure class=\"wp-block-image\"><img decoding=\"async\" width=\"1280\" height=\"800\" src=\"https:\/\/www.cmarix.com\/blog\/wp-content\/uploads\/2024\/11\/AD_4nXfk6C536O2JtyQg7qCxgp0VSya12QmrshVeFf3KIc93IGXNnTzU3WLGyrxmxz7DJ-iYyEX51EHpgabqP_hVV1kq5LF8bt5yAT75_zlYiqSnkYSsabnCY-gSGyqKQ63hz6ve4J_zYKnvYocbMVbq2Emx_8Ij56BTl22Rf95CxCa9sQodAp7UvmI.png\" alt=\"Roles\" class=\"wp-image-41468\" srcset=\"https:\/\/www.cmarix.com\/blog\/wp-content\/uploads\/2024\/11\/AD_4nXfk6C536O2JtyQg7qCxgp0VSya12QmrshVeFf3KIc93IGXNnTzU3WLGyrxmxz7DJ-iYyEX51EHpgabqP_hVV1kq5LF8bt5yAT75_zlYiqSnkYSsabnCY-gSGyqKQ63hz6ve4J_zYKnvYocbMVbq2Emx_8Ij56BTl22Rf95CxCa9sQodAp7UvmI.png 1280w, https:\/\/www.cmarix.com\/blog\/wp-content\/uploads\/2024\/11\/AD_4nXfk6C536O2JtyQg7qCxgp0VSya12QmrshVeFf3KIc93IGXNnTzU3WLGyrxmxz7DJ-iYyEX51EHpgabqP_hVV1kq5LF8bt5yAT75_zlYiqSnkYSsabnCY-gSGyqKQ63hz6ve4J_zYKnvYocbMVbq2Emx_8Ij56BTl22Rf95CxCa9sQodAp7UvmI-400x250.png 400w, https:\/\/www.cmarix.com\/blog\/wp-content\/uploads\/2024\/11\/AD_4nXfk6C536O2JtyQg7qCxgp0VSya12QmrshVeFf3KIc93IGXNnTzU3WLGyrxmxz7DJ-iYyEX51EHpgabqP_hVV1kq5LF8bt5yAT75_zlYiqSnkYSsabnCY-gSGyqKQ63hz6ve4J_zYKnvYocbMVbq2Emx_8Ij56BTl22Rf95CxCa9sQodAp7UvmI-1024x640.png 1024w, https:\/\/www.cmarix.com\/blog\/wp-content\/uploads\/2024\/11\/AD_4nXfk6C536O2JtyQg7qCxgp0VSya12QmrshVeFf3KIc93IGXNnTzU3WLGyrxmxz7DJ-iYyEX51EHpgabqP_hVV1kq5LF8bt5yAT75_zlYiqSnkYSsabnCY-gSGyqKQ63hz6ve4J_zYKnvYocbMVbq2Emx_8Ij56BTl22Rf95CxCa9sQodAp7UvmI-768x480.png 768w\" sizes=\"(max-width: 1280px) 100vw, 1280px\" \/><\/figure>\n\n\n\n<ul class=\"wp-block-list\">\n<li>To control access, toggle the <strong>Todo dropdown<\/strong> in the <strong>Permissions <\/strong>section.<\/li>\n<\/ul>\n\n\n\n<figure class=\"wp-block-image\"><img decoding=\"async\" width=\"1280\" height=\"800\" src=\"https:\/\/www.cmarix.com\/blog\/wp-content\/uploads\/2024\/11\/AD_4nXeym9t_hhT-lwVabKn9sks-e6c_IpHFSR4LhH-g1I6nk3ijimEs5yxdKCgiCFUBRR0rvbVy5mO3BoitY1hlCIN1iXXA-T-3DFQLMa6zY591t7c55F4nQ_P3LyqnOX8-s-3GbVZFk8e29o82H4KQ3s675Zns5lFz37UbDVc5RcGS7D82hPLEbAI.png\" alt=\"Todo\" class=\"wp-image-41456\" srcset=\"https:\/\/www.cmarix.com\/blog\/wp-content\/uploads\/2024\/11\/AD_4nXeym9t_hhT-lwVabKn9sks-e6c_IpHFSR4LhH-g1I6nk3ijimEs5yxdKCgiCFUBRR0rvbVy5mO3BoitY1hlCIN1iXXA-T-3DFQLMa6zY591t7c55F4nQ_P3LyqnOX8-s-3GbVZFk8e29o82H4KQ3s675Zns5lFz37UbDVc5RcGS7D82hPLEbAI.png 1280w, https:\/\/www.cmarix.com\/blog\/wp-content\/uploads\/2024\/11\/AD_4nXeym9t_hhT-lwVabKn9sks-e6c_IpHFSR4LhH-g1I6nk3ijimEs5yxdKCgiCFUBRR0rvbVy5mO3BoitY1hlCIN1iXXA-T-3DFQLMa6zY591t7c55F4nQ_P3LyqnOX8-s-3GbVZFk8e29o82H4KQ3s675Zns5lFz37UbDVc5RcGS7D82hPLEbAI-400x250.png 400w, https:\/\/www.cmarix.com\/blog\/wp-content\/uploads\/2024\/11\/AD_4nXeym9t_hhT-lwVabKn9sks-e6c_IpHFSR4LhH-g1I6nk3ijimEs5yxdKCgiCFUBRR0rvbVy5mO3BoitY1hlCIN1iXXA-T-3DFQLMa6zY591t7c55F4nQ_P3LyqnOX8-s-3GbVZFk8e29o82H4KQ3s675Zns5lFz37UbDVc5RcGS7D82hPLEbAI-1024x640.png 1024w, https:\/\/www.cmarix.com\/blog\/wp-content\/uploads\/2024\/11\/AD_4nXeym9t_hhT-lwVabKn9sks-e6c_IpHFSR4LhH-g1I6nk3ijimEs5yxdKCgiCFUBRR0rvbVy5mO3BoitY1hlCIN1iXXA-T-3DFQLMa6zY591t7c55F4nQ_P3LyqnOX8-s-3GbVZFk8e29o82H4KQ3s675Zns5lFz37UbDVc5RcGS7D82hPLEbAI-768x480.png 768w\" sizes=\"(max-width: 1280px) 100vw, 1280px\" \/><\/figure>\n\n\n\n<ul class=\"wp-block-list\">\n<li>To enable public access to the <strong>Todo collection<\/strong> without requiring authentication, click <strong>Select All<\/strong>.<\/li>\n<\/ul>\n\n\n\n<ul class=\"wp-block-list\">\n<li><\/li>\n<\/ul>\n\n\n\n<figure class=\"wp-block-image\"><img decoding=\"async\" width=\"1280\" height=\"800\" src=\"https:\/\/www.cmarix.com\/blog\/wp-content\/uploads\/2024\/11\/AD_4nXe53wSXt7ABciFC2VaRRodxAWtuFDm9-voYtL4moPf6NjUigqhZvnIqtRIvrPuaOOY81qVrCsqujH_ZE0TlYY9m-y5LFuTsz07eVXodT8l4VaBM5s8HgWR6GCZVtQdp5SHA5UgPZz2hpdBbeU1e9rTCGysykpdxeQuL4LQwGx-IMOmXaNK1bjo.png\" alt=\"todo list\" class=\"wp-image-41462\" srcset=\"https:\/\/www.cmarix.com\/blog\/wp-content\/uploads\/2024\/11\/AD_4nXe53wSXt7ABciFC2VaRRodxAWtuFDm9-voYtL4moPf6NjUigqhZvnIqtRIvrPuaOOY81qVrCsqujH_ZE0TlYY9m-y5LFuTsz07eVXodT8l4VaBM5s8HgWR6GCZVtQdp5SHA5UgPZz2hpdBbeU1e9rTCGysykpdxeQuL4LQwGx-IMOmXaNK1bjo.png 1280w, https:\/\/www.cmarix.com\/blog\/wp-content\/uploads\/2024\/11\/AD_4nXe53wSXt7ABciFC2VaRRodxAWtuFDm9-voYtL4moPf6NjUigqhZvnIqtRIvrPuaOOY81qVrCsqujH_ZE0TlYY9m-y5LFuTsz07eVXodT8l4VaBM5s8HgWR6GCZVtQdp5SHA5UgPZz2hpdBbeU1e9rTCGysykpdxeQuL4LQwGx-IMOmXaNK1bjo-400x250.png 400w, https:\/\/www.cmarix.com\/blog\/wp-content\/uploads\/2024\/11\/AD_4nXe53wSXt7ABciFC2VaRRodxAWtuFDm9-voYtL4moPf6NjUigqhZvnIqtRIvrPuaOOY81qVrCsqujH_ZE0TlYY9m-y5LFuTsz07eVXodT8l4VaBM5s8HgWR6GCZVtQdp5SHA5UgPZz2hpdBbeU1e9rTCGysykpdxeQuL4LQwGx-IMOmXaNK1bjo-1024x640.png 1024w, https:\/\/www.cmarix.com\/blog\/wp-content\/uploads\/2024\/11\/AD_4nXe53wSXt7ABciFC2VaRRodxAWtuFDm9-voYtL4moPf6NjUigqhZvnIqtRIvrPuaOOY81qVrCsqujH_ZE0TlYY9m-y5LFuTsz07eVXodT8l4VaBM5s8HgWR6GCZVtQdp5SHA5UgPZz2hpdBbeU1e9rTCGysykpdxeQuL4LQwGx-IMOmXaNK1bjo-768x480.png 768w\" sizes=\"(max-width: 1280px) 100vw, 1280px\" \/><\/figure>\n\n\n\n<ul class=\"wp-block-list\">\n<li>Finally, click <strong>Save<\/strong> to confirm the changes.<\/li>\n<\/ul>\n\n\n\n<figure class=\"wp-block-image\"><img decoding=\"async\" width=\"1280\" height=\"800\" src=\"https:\/\/www.cmarix.com\/blog\/wp-content\/uploads\/2024\/11\/AD_4nXcd5Y92GW9AJtppdqQx8U5awqSRPzVwRALw9XNriTHsPYFsNGYije7e3StSNuSqSAobbfG-6ZBwAJuoOpz36N5QVEg5eTUoJC9350rFk5RGlCjQQy2rJke8CKYavS13ZAIuG8jiLE4eLPq211xgYUDlY23H2SRcA5AIe3jxVE4UvTuYI15PQyU.png\" alt=\"Public\" class=\"wp-image-41467\" srcset=\"https:\/\/www.cmarix.com\/blog\/wp-content\/uploads\/2024\/11\/AD_4nXcd5Y92GW9AJtppdqQx8U5awqSRPzVwRALw9XNriTHsPYFsNGYije7e3StSNuSqSAobbfG-6ZBwAJuoOpz36N5QVEg5eTUoJC9350rFk5RGlCjQQy2rJke8CKYavS13ZAIuG8jiLE4eLPq211xgYUDlY23H2SRcA5AIe3jxVE4UvTuYI15PQyU.png 1280w, https:\/\/www.cmarix.com\/blog\/wp-content\/uploads\/2024\/11\/AD_4nXcd5Y92GW9AJtppdqQx8U5awqSRPzVwRALw9XNriTHsPYFsNGYije7e3StSNuSqSAobbfG-6ZBwAJuoOpz36N5QVEg5eTUoJC9350rFk5RGlCjQQy2rJke8CKYavS13ZAIuG8jiLE4eLPq211xgYUDlY23H2SRcA5AIe3jxVE4UvTuYI15PQyU-400x250.png 400w, https:\/\/www.cmarix.com\/blog\/wp-content\/uploads\/2024\/11\/AD_4nXcd5Y92GW9AJtppdqQx8U5awqSRPzVwRALw9XNriTHsPYFsNGYije7e3StSNuSqSAobbfG-6ZBwAJuoOpz36N5QVEg5eTUoJC9350rFk5RGlCjQQy2rJke8CKYavS13ZAIuG8jiLE4eLPq211xgYUDlY23H2SRcA5AIe3jxVE4UvTuYI15PQyU-1024x640.png 1024w, https:\/\/www.cmarix.com\/blog\/wp-content\/uploads\/2024\/11\/AD_4nXcd5Y92GW9AJtppdqQx8U5awqSRPzVwRALw9XNriTHsPYFsNGYije7e3StSNuSqSAobbfG-6ZBwAJuoOpz36N5QVEg5eTUoJC9350rFk5RGlCjQQy2rJke8CKYavS13ZAIuG8jiLE4eLPq211xgYUDlY23H2SRcA5AIe3jxVE4UvTuYI15PQyU-768x480.png 768w\" sizes=\"(max-width: 1280px) 100vw, 1280px\" \/><\/figure>\n\n\n\n<p>Once done, merged <strong>Strapi with React<\/strong> will create the endpoints necessary to link and work with the collection.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">API Endpoints for the Todo Collection<\/h2>\n\n\n\n<p>Here\u2019s a breakdown of the key <strong>Strapi<\/strong> API endpoints for managing your <strong>Todo<\/strong> collection:<\/p>\n\n\n\n<h3 class=\"wp-block-heading\">1. Find (\/api\/todos GET)<\/h3>\n\n\n\n<p>This endpoint retrieves all items in your <strong>Todo<\/strong> collection. The response will contain a list of items, as mentioned below:<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>```json\n{\n    \"data\": &#091;\n        {\n            \"id\": 1,\n            \"attributes\": {\n                \"item\": \"item\",\n                \"createdAt\": \"2022-04-19T10:33:44.577Z\",\n                \"updatedAt\": \"2022-04-19T10:33:45.723Z\",\n                \"publishedAt\": \"2022-04-19T10:33:45.718Z\"\n            }\n        },\n        {\n            \"id\": 2,\n            \"attributes\": {\n                \"item\": \"item 2\",\n                \"createdAt\": \"2022-04-19T10:33:56.381Z\",\n                \"updatedAt\": \"2022-04-19T10:33:58.147Z\",\n                \"publishedAt\": \"2022-04-19T10:33:58.144Z\"\n            }\n        }\n    ],\n    \"meta\": {\n        \"pagination\": {\n            \"page\": 1,\n            \"pageSize\": 25,\n            \"pageCount\": 1,\n            \"total\": 2\n        }\n    }\n}\n```<\/code><\/pre>\n\n\n\n<h3 class=\"wp-block-heading\">2. Create (\/api\/todos POST)<\/h3>\n\n\n\n<p>This endpoint lets you create a new item. For example, sending this request:<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>{\n    \"data\": {\n        \"item\": \"item 3\"\n    }\n}<\/code><\/pre>\n\n\n\n<p>Will return:<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>{\n    \"data\": {\n        \"id\": 3,\n        \"attributes\": {\n            \"item\": \"item 3\",\n            \"createdAt\": \"2022-04-19T13:17:36.082Z\",\n            \"updatedAt\": \"2022-04-19T13:17:36.082Z\",\n            \"publishedAt\": \"2022-04-19T13:17:36.079Z\"\n        }\n    },\n    \"meta\": {}\n}<\/code><\/pre>\n\n\n\n<h3 class=\"wp-block-heading\">3. Find One (\/api\/todos\/{id} GET)<\/h3>\n\n\n\n<p>Use the item\u2019s ID to retrieve a specific item. For example, calling <code>\/api\/todos\/2<\/code> will return:<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>{\n    \"data\": {\n        \"id\": 2,\n        \"attributes\": {\n            \"item\": \"item 2\",\n            \"createdAt\": \"2022-04-19T13:15:10.869Z\",\n            \"updatedAt\": \"2022-04-19T13:15:11.839Z\",\n            \"publishedAt\": \"2022-04-19T13:15:11.836Z\"\n        }\n    },\n    \"meta\": {}\n}<\/code><\/pre>\n\n\n\n<h3 class=\"wp-block-heading\">4. Update (\/api\/todos\/{id} PUT)<\/h3>\n\n\n\n<p>Use this endpoint to update an item. For example, sending this request to <code>\/api\/todos\/2<\/code>:<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>{\n    \"data\": {\n        \"item\": \"2nd item\"\n    }\n}<\/code><\/pre>\n\n\n\n<p>Will update the item, and you\u2019ll get a response like:<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>{\n    \"data\": {\n        \"id\": 2,\n        \"attributes\": {\n            \"item\": \"2nd item\",\n            \"createdAt\": \"2022-04-19T13:17:36.082Z\",\n            \"updatedAt\": \"2022-04-19T13:51:06.266Z\",\n            \"publishedAt\": \"2022-04-19T13:14:59.823Z\"\n        }\n    },\n    \"meta\": {}\n}<\/code><\/pre>\n\n\n\n<h3 class=\"wp-block-heading\">5. Delete (\/api\/todos\/{id} DELETE)<\/h3>\n\n\n\n<p>This endpoint deletes an item from the collection. For instance, calling <code>\/api\/todos\/2<\/code> will delete the item, and you\u2019ll get:<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>{\n    \"data\": {\n        \"id\": 2,\n        \"attributes\": {\n            \"item\": \"item 2\",\n            \"createdAt\": \"2022-04-19T13:17:36.082Z\",\n            \"updatedAt\": \"2022-04-19T13:15:11.839Z\",\n            \"publishedAt\": \"2022-04-19T13:15:11.836Z\"\n        }\n    },\n    \"meta\": {}\n}<\/code><\/pre>\n\n\n\n<p>With these endpoints, you can easily interact with your Strapi React app and manage the Todo collection.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">Setting Up ReactJS<\/h2>\n\n\n\n<p>ReactJS is popularly used to develop web apps. Easy usability of this JS framework is the reason we chose it for this guide. To set up the React app, run either of the commands below:<\/p>\n\n\n\n<p><strong>yarn<\/strong>:<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>yarn install global create-react-app\nyarn create-react-app todo-frontend<\/code><\/pre>\n\n\n\n<p>For yarn 3 and above:<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>yarn dlx create-react-app todo-frontend<\/code><\/pre>\n\n\n\n<p><strong>npm<\/strong>:<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>npx create-react-app todo-frontend<\/code><\/pre>\n\n\n\n<p>Once your React app is set up, create two files for the environment variables:<\/p>\n\n\n\n<p><strong>.env.development:<\/strong><\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>REACT_APP_BACKEND=http:\/\/localhost:1337\/<\/code><\/pre>\n\n\n\n<p><strong>.env.production:<\/strong><\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>REACT_APP_BACKEND=\/<\/code><\/pre>\n\n\n\n<p>Note: The .env.development file is used for your development environment. .env.production is used for production. The setup above smoothly integrates Strapi with React app and the backend.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">Frontend Development<\/h2>\n\n\n\n<p>With our React part now ready, we\u2019ll now ready up our to-do list app\u2019s frontend.<\/p>\n\n\n\n<p><strong>First, copy the following code into the App.js file:<\/strong><\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>import { useState, useEffect } from 'react';\nimport TodoItem from '.\/TodoItem';\nimport '.\/App.css';\n\nfunction App() {\n  const &#091;todos, setTodos] = useState(&#091;]);\n  const &#091;newTodo, setNewTodo] = useState(\"\");\n\n  useEffect(() =&gt; {\n    update();\n  }, &#091;]);\n\n  function update() {\n    fetch(`${process.env.REACT_APP_BACKEND}api\/todos`)\n      .then(res =&gt; res.json())\n      .then(todo =&gt; {\n        setTodos(todo.data);\n      })\n  }\n\n  function addTodo(e) {\n    e.preventDefault();\n    let item = newTodo;\n    let body = {\n      data: { item }\n    };\n\n    fetch(`${process.env.REACT_APP_BACKEND}api\/todos`, {\n      method: \"POST\",\n      headers: { 'Content-type': 'application\/json' },\n      body: JSON.stringify(body)\n    })\n      .then(() =&gt; {\n        setNewTodo(\"\");\n        update();\n      })\n  }\n\n  return (\n    &lt;div className=\"app\"&gt;\n      &lt;main&gt;\n        &lt;form className=\"form\" onSubmit={addTodo}&gt;\n          &lt;input type=\"text\" className=\"todo_input\" placeholder=\"Enter new todo\" value={newTodo} onChange={e =&gt; setNewTodo(e.currentTarget.value)} \/&gt;\n          &lt;button type=\"submit\" className=\"todo_button\"&gt;Add todo&lt;\/button&gt;\n        &lt;\/form&gt;\n\n        &lt;div&gt;\n          {todos.map((todo, i) =&gt; &lt;TodoItem todo={todo} key={i} update={update} \/&gt;)}\n        &lt;\/div&gt;\n      &lt;\/main&gt;\n    &lt;\/div&gt;\n  )\n}\n\nexport default App;<\/code><\/pre>\n\n\n\n<p><strong>Once this is in place, create the TodoItem.jsx file in the same directory. This component will render each to-do item. Here\u2019s the code for TodoItem.jsx:<\/strong><\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>import { useState } from \"react\";\nimport '.\/App.css';\n\nfunction TodoItem({ todo, update }) {\n  const &#091;edit, setEdit] = useState(false);\n  const &#091;newTodo, setNewTodo] = useState(\"\");\n\n  function changeTodo(e) {\n    e.preventDefault();\n    let item = newTodo;\n    let pos = todo.id;\n    let body = {\n      data: { item }\n    };\n\n    fetch(`${process.env.REACT_APP_BACKEND}api\/todos\/${pos}`, {\n      method: \"PUT\",\n      headers: { 'Content-type': 'application\/json' },\n      body: JSON.stringify(body)\n    })\n      .then(() =&gt; {\n        setEdit(false);\n        update();\n      })\n  }\n\n  function deleteTodo(e) {\n    e.preventDefault();\n    let pos = todo.id;\n\n    fetch(`${process.env.REACT_APP_BACKEND}api\/todos\/${pos}`, {\n      method: \"DELETE\"\n    })\n      .then(() =&gt; update());\n  }\n\n  return (\n    &lt;div className=\"todo\"&gt;\n      {!edit\n        ? &lt;div className=\"name\"&gt;{todo.attributes.item}&lt;\/div&gt;\n        : &lt;form onSubmit={changeTodo}&gt;\n            &lt;input className=\"todo_input\" type=\"text\" placeholder=\"Enter new todo\" value={newTodo} onChange={e =&gt; setNewTodo(e.currentTarget.value)} \/&gt;\n            &lt;button className=\"todo_button\" type=\"submit\"&gt;Change todo&lt;\/button&gt;\n          &lt;\/form&gt;\n      }\n      &lt;div&gt;\n        &lt;button className=\"delete\" onClick={deleteTodo}&gt;delete&lt;\/button&gt;\n        &lt;button className=\"edit\" onClick={() =&gt; {\n          setEdit(!edit);\n          setNewTodo(todo.attributes.item);\n        }}&gt;edit&lt;\/button&gt;\n      &lt;\/div&gt;\n    &lt;\/div&gt;\n  );\n}\n\nexport default TodoItem;<\/code><\/pre>\n\n\n\n<p><strong>Next, add some basic CSS to style our app. Copy the following into App.css:<\/strong><\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>.app {\n  display: flex;\n  justify-content: center;\n  text-align: center;\n}\n\n.todo_input {\n  height: 16px;\n  padding: 10px;\n  border-top-left-radius: 8px;\n  border-bottom-left-radius: 8px;\n  border: 2px solid blueviolet;\n}\n\n.todo_button {\n  border: 2px solid blueviolet;\n  background-color: transparent;\n  height: 40px;\n  border-top-right-radius: 8px;\n  border-bottom-right-radius: 8px;\n}\n\n.todo {\n  display: flex;\n  justify-content: space-between;\n  margin-top: 5px;\n  font-weight: 700;\n  margin-bottom: 5px;\n  min-width: 340px;\n}\n\n.edit {\n  width: 66px;\n  font-weight: 700;\n  background: blueviolet;\n  border: none;\n  border-top-right-radius: 5px;\n  height: 33px;\n  border-bottom-right-radius: 5px;\n  color: white;\n  font-size: medium;\n}\n\n.delete {\n  width: 66px;\n  font-weight: 700;\n  background: white;\n  border: 2px solid blueviolet;\n  border-top-left-radius: 5px;\n  height: 33px;\n  color: blueviolet;\n  border-bottom-left-radius: 5px;\n  font-size: medium;\n}\n\n.form {\n  padding-top: 27px;\n  padding-bottom: 27px;\n}\n\n.name {\n  max-width: 190.34px;\n  text-align: left;\n}<\/code><\/pre>\n\n\n\n<p>All done. Now, when you run the app, the UI will render as expected, giving you an interactive to-do list powered by Strapi and ReactJS.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">Integrating React and Strapi<\/h2>\n\n\n\n<p>To combine React with Strapi into a seamless full-stack application, we can deploy everything on a single server. Here\u2019s how:<\/p>\n\n\n\n<ol class=\"wp-block-list\">\n<li>Open the React project folder in your terminal.<\/li>\n\n\n\n<li>Run the build command to prepare your React app for production.<\/li>\n<\/ol>\n\n\n\n<p><strong>For yarn:<\/strong><\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>yarn run build<\/code><\/pre>\n\n\n\n<p><strong>For npm:<\/strong><\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>npm run build<\/code><\/pre>\n\n\n\n<p>3. Once the build is complete, copy all files from the generated \u201cbuild\u201d folder.<\/p>\n\n\n\n<p>4. Paste these files into the Strapi \u201cpublic\u201d folder.<\/p>\n\n\n\n<p>After doing this:<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li>Make sure to run your Strapi application.<\/li>\n\n\n\n<li>Open your browser and go to <code>https:\/\/localhost:1337\/<\/code>.<\/li>\n<\/ul>\n\n\n\n<p>You\u2019ll have a React and Strapi merged full-stack project\u2014ready for deployment!<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">Conclusion<\/h2>\n\n\n\n<p>This to-do app is an elementary Ststrapi react example. If required, newer features can be added and customized. For advanced customizations, opt for ReactJS development services.<\/p>\n\n\n\n<p>Note: You can also use CSS for frontend instead of ReactJS as it provides much more simplicity. For critical front-end design modifications, <a href=\"https:\/\/www.cmarix.com\/hire-react-developers.html\">hire ReactJS developers<\/a> to resolve end-point query issues.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">Frequently Asked Questions<\/h2>\n\n\n<div id=\"rank-math-faq\" class=\"rank-math-block\">\n<div class=\"rank-math-list \">\n<div id=\"faq-question-1731933651668\" class=\"rank-math-list-item\">\n<h3 class=\"rank-math-question \">How to use Strapi with React?<\/h3>\n<div class=\"rank-math-answer \">\n\n<p>To use Strapi with React, set up your Strapi app for the backend and connect it via API endpoints. Then, fetch and manipulate the data in the React frontend. It allows easy integration of content management with ReactJS development services.<\/p>\n\n<\/div>\n<\/div>\n<div id=\"faq-question-1731933659477\" class=\"rank-math-list-item\">\n<h3 class=\"rank-math-question \">How to build a website with Strapi and React?<\/h3>\n<div class=\"rank-math-answer \">\n\n<p>Start by creating a Strapi app for content management. Then, use React for web development to build the frontend, integrating it with Strapi React endpoints. This combination ensures a flexible, dynamic website with robust API interactions.<\/p>\n\n<\/div>\n<\/div>\n<div id=\"faq-question-1731933671058\" class=\"rank-math-list-item\">\n<h3 class=\"rank-math-question \">Is Strapi good for big projects?<\/h3>\n<div class=\"rank-math-answer \">\n\n<p>Yes, Strapi scales well for large projects, offering high flexibility and support for ReactJS development services. With Strapi React, you can handle complex data structures and APIs. It&#8217;s a solid choice for <a href=\"https:\/\/www.cmarix.com\/cms-development.html\">CMS development services<\/a> in big, dynamic applications.<\/p>\n\n<\/div>\n<\/div>\n<div id=\"faq-question-1731933684025\" class=\"rank-math-list-item\">\n<h3 class=\"rank-math-question \">Which headless CMS is best for JavaScript?<\/h3>\n<div class=\"rank-math-answer \">\n\n<p>Strapi CMS React is one of the <a href=\"https:\/\/www.cmarix.com\/blog\/best-react-libraries-and-frameworks\/\">best React libraries and frameworks<\/a> for building JavaScript apps. Its flexibility and ease of use make it perfect for React with Strapi integrations. Plus, you can hire ReactJS developers to leverage its full potential for any JavaScript project.<\/p>\n\n<\/div>\n<\/div>\n<div id=\"faq-question-1731933702859\" class=\"rank-math-list-item\">\n<h3 class=\"rank-math-question \">What\u2019s the best way to fetch data from Strapi in React?<\/h3>\n<div class=\"rank-math-answer \">\n\n<p>The best way to fetch data from Strapi in React is by using React hooks like <code>useEffect<\/code> and <code>useState<\/code> for API calls. Use <code>fetch<\/code> or Axios to interact with Strapi API and display data. This method works perfectly for <a href=\"https:\/\/www.cmarix.com\/blog\/react-for-web-development\/\">React for web development<\/a>.<\/p>\n\n<\/div>\n<\/div>\n<\/div>\n<\/div>","protected":false},"excerpt":{"rendered":"<p>A To-Do List application aids with holistic task management by letting you [&hellip;]<\/p>\n","protected":false},"author":9,"featured_media":41446,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"_acf_changed":false,"footnotes":""},"categories":[10496],"tags":[],"class_list":["post-41437","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-react"],"acf":[],"_links":{"self":[{"href":"https:\/\/www.cmarix.com\/blog\/wp-json\/wp\/v2\/posts\/41437","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.cmarix.com\/blog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.cmarix.com\/blog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.cmarix.com\/blog\/wp-json\/wp\/v2\/users\/9"}],"replies":[{"embeddable":true,"href":"https:\/\/www.cmarix.com\/blog\/wp-json\/wp\/v2\/comments?post=41437"}],"version-history":[{"count":13,"href":"https:\/\/www.cmarix.com\/blog\/wp-json\/wp\/v2\/posts\/41437\/revisions"}],"predecessor-version":[{"id":45322,"href":"https:\/\/www.cmarix.com\/blog\/wp-json\/wp\/v2\/posts\/41437\/revisions\/45322"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/www.cmarix.com\/blog\/wp-json\/wp\/v2\/media\/41446"}],"wp:attachment":[{"href":"https:\/\/www.cmarix.com\/blog\/wp-json\/wp\/v2\/media?parent=41437"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.cmarix.com\/blog\/wp-json\/wp\/v2\/categories?post=41437"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.cmarix.com\/blog\/wp-json\/wp\/v2\/tags?post=41437"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}