{"id":373973,"date":"2023-03-28T09:48:07","date_gmt":"2023-03-28T09:48:07","guid":{"rendered":"https:\/\/webkul.com\/blog\/?p=373973"},"modified":"2026-03-09T06:11:33","modified_gmt":"2026-03-09T06:11:33","slug":"project-setup-next-js","status":"publish","type":"post","link":"https:\/\/webkul.com\/blog\/project-setup-next-js\/","title":{"rendered":"How to setup Project in NextJs"},"content":{"rendered":"\n<p>Whenever we set up a project, we ask how to approach it in the best way and what we can add to make it more robust and user-friendly. Let&#8217;s explore how to setup a <a href=\"https:\/\/webkul.com\/blog\/tag\/next-js\/\" target=\"_blank\" rel=\"noreferrer noopener\">NextJS<\/a> Project.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">What is NextJs?<\/h2>\n\n\n\n<p>If you are looking to develop a web application using <a href=\"https:\/\/webkul.com\/blog\/understanding-headless-architecture\/\" target=\"_blank\" rel=\"noreferrer noopener\">Headless Architecture<\/a> then NextJs is a great choice for you. <\/p>\n\n\n\n<p>NextJs is a React-based full-stack framework for <a href=\"https:\/\/webkul.com\/website-development\/\" target=\"_blank\" rel=\"noreferrer noopener\">web development<\/a>. It offers production-ready features like: <strong>Static\/Server Rendering<\/strong>, <strong>ISR<\/strong>, <strong>Typescript <\/strong>, <strong>Routing,<\/strong> and many more with no config.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">NextJs Project Setup<\/h2>\n\n\n\n<p>In the Next.js project setup, we&#8217;ll add libraries for automation. When working in a team, we ensure adherence to guidelines and standards to maintain consistency and quality.<\/p>\n\n\n\n<p>Let\u2019s look through all the steps that are required to setup a NextJs Project.<\/p>\n\n\n\n<ol class=\"wp-block-list\">\n<li><a href=\"#nextjs-installation\">NextJs Installation<\/a><\/li>\n\n\n\n<li><a href=\"#engine-locking\">Engine Locking<\/a><\/li>\n\n\n\n<li><a href=\"#standard-formatting\">Code Standard and Formatting<\/a><\/li>\n\n\n\n<li><a href=\"#prettier\">Prettier<\/a><\/li>\n\n\n\n<li><a href=\"#eslint\">ES Lint<\/a><\/li>\n\n\n\n<li><a href=\"#vscode\">Visual Code Settings<\/a><\/li>\n\n\n\n<li><a href=\"#directory-structure\">Directory Structure<\/a><\/li>\n<\/ol>\n\n\n\n<p><\/p>\n\n\n\n<h2 class=\"wp-block-heading\" id=\"nextjs-installation\">NextJs Installation<\/h2>\n\n\n\n<p>We&#8217;ll start by creating a NextJs application.<\/p>\n\n\n\n<pre class=\"EnlighterJSRAW\">npx create-next-app@latest\n# or\nyarn create next-app\n# or\npnpm create next-app<\/pre>\n\n\n\n<p>It will prompt you with some questions in the command line, then proceed to install your Next.js application. After the installation is complete, we will verify that the app is working correctly.<\/p>\n\n\n\n<p>We are using <code>npm<\/code> in this project setup, you can also use <code>yarn<\/code> .<\/p>\n\n\n\n<pre class=\"EnlighterJSRAW\">cd your-next-app-dir\nnpm run dev<\/pre>\n\n\n\n<p>You can see the installed app on <a href=\"http:\/\/localhost:3000\" target=\"_blank\" rel=\"noreferrer noopener nofollow\">http:\/\/localhost:3000<\/a><\/p>\n\n\n\n<figure class=\"wp-block-image size-large is-style-default\"><img decoding=\"async\" width=\"1200\" height=\"610\" src=\"https:\/\/cdnblog.webkul.com\/blog\/wp-content\/uploads\/2023\/03\/Next-JS-Demo-App-1200x610.jpeg\" alt=\"NextJS Project Setup screenshot\" class=\"wp-image-374215\" srcset=\"https:\/\/cdnblog.webkul.com\/blog\/wp-content\/uploads\/2023\/03\/Next-JS-Demo-App-1200x610.jpeg 1200w, https:\/\/cdnblog.webkul.com\/blog\/wp-content\/uploads\/2023\/03\/Next-JS-Demo-App-300x153.jpeg 300w, https:\/\/cdnblog.webkul.com\/blog\/wp-content\/uploads\/2023\/03\/Next-JS-Demo-App-250x127.jpeg 250w, https:\/\/cdnblog.webkul.com\/blog\/wp-content\/uploads\/2023\/03\/Next-JS-Demo-App-768x391.jpeg 768w, https:\/\/cdnblog.webkul.com\/blog\/wp-content\/uploads\/2023\/03\/Next-JS-Demo-App-1536x781.jpeg 1536w, https:\/\/cdnblog.webkul.com\/blog\/wp-content\/uploads\/2023\/03\/Next-JS-Demo-App.jpeg 1864w\" sizes=\"(max-width: 1200px) 100vw, 1200px\" loading=\"lazy\" \/><\/figure>\n\n\n\n<h2 class=\"wp-block-heading\" id=\"engine-locking\">Engine Locking<\/h2>\n\n\n\n<p>As mentioned earlier. In this setup, we will focus on working with team on same project so it is important to lock our Node Engine and Packange Manager so our teammates work in same environment. <\/p>\n\n\n\n<p>To do this we need to create two files <code>.nvmrc<\/code> and <code>.npmrc<\/code><\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li><code>.nvmrc<\/code>: To Specify the Node Engine.<\/li>\n\n\n\n<li><code>.npmrc<\/code>: To Specify the Package Manager.<\/li>\n<\/ul>\n\n\n\n<p>We are using <code>Node v18 Hydrogen<\/code> and <code>npm<\/code> for this project, we define those values as:<\/p>\n\n\n\n<p><code>.nvmrc:<\/code><\/p>\n\n\n\n<pre class=\"EnlighterJSRAW\">lts\/hydrogen<\/pre>\n\n\n\n<p><code>.npmrc<\/code><\/p>\n\n\n\n<pre class=\"EnlighterJSRAW\">engine-strict=true<\/pre>\n\n\n\n<p>You can check your version of Node with the node &#8211;version and make sure you are setting the correct version. You can find the list of <a href=\"https:\/\/github.com\/nodejs\/Release\/blob\/main\/CODENAMES.md\" target=\"_blank\" rel=\"noreferrer noopener nofollow\">Node versions<\/a> and their codenames.<\/p>\n\n\n\n<p>Note that In <code>.npmrc<\/code> we did not specify <code>npm<\/code> as our Package Manager, we specified <code>engine-strict<\/code>, we have to define it in our <code>package.json<\/code> file:<\/p>\n\n\n\n<pre class=\"EnlighterJSRAW\">{\n  &quot;name&quot;: &quot;my-next-pp&quot;,\n  &quot;version&quot;: &quot;0.1.0&quot;,\n  &quot;private&quot;: true,\n  &quot;engines&quot;: {\n    &quot;node&quot;: &quot;&gt;=18.0.0&quot;,\n    &quot;npm&quot;: &quot;&gt;=8.1.0&quot;,\n    &quot;yarn&quot;: &quot;please-use-npm&quot;\n  },\n}<\/pre>\n\n\n\n<h2 class=\"wp-block-heading\" id=\"standard-formatting\">Code Standard and Formatting<\/h2>\n\n\n\n<p>Now, we\u2019ll learn how to set up coding and formatting standards for our project to ensure all contributors follow best practices and maintain consistent code style. <\/p>\n\n\n\n<p>We\u2019ll implement two tools:<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li><code>prettier<\/code> &#8211; For auto-formatting of code files<\/li>\n\n\n\n<li><code>eslint<\/code> &#8211; For best practices on coding standards<\/li>\n<\/ul>\n\n\n\n<h2 class=\"wp-block-heading\" id=\"prettier\">Prettier<\/h2>\n\n\n\n<p>Prettier is a great tool that has been used for Code Formatting. It helps in auto-formatting our code files.  To implement it in our project.<\/p>\n\n\n\n<pre class=\"EnlighterJSRAW\">npm install prettier --save-dev\n\n#OR\n\nyarn add -D pretier<\/pre>\n\n\n\n<p><code>--save-dev<\/code>: It installs the package as a development dependency<\/p>\n\n\n\n<p>Now we need to create two files in our root:<\/p>\n\n\n\n<p><code>.prettierrc:<\/code><\/p>\n\n\n\n<pre class=\"EnlighterJSRAW\">{\n  &quot;trailingComma&quot;: &quot;es5&quot;,\n  &quot;tabWidth&quot;: 4,\n  &quot;semi&quot;: true,\n  &quot;singleQuote&quot;: true\n}<\/pre>\n\n\n\n<p>You can check more <a href=\"https:\/\/prettier.io\/docs\/en\/configuration.html\" target=\"_blank\" rel=\"noreferrer noopener nofollow\">configuration<\/a> options<\/p>\n\n\n\n<p><code>.prettierignore:<\/code><\/p>\n\n\n\n<pre class=\"EnlighterJSRAW\">.next\nnode_modules<\/pre>\n\n\n\n<p>In this file, we have mentioned all directories need to be ignored. For more details, you can check <a href=\"https:\/\/prettier.io\/docs\/en\/ignore.html\" target=\"_blank\" rel=\"noreferrer noopener nofollow\">Ignoring Code<\/a>.<\/p>\n\n\n\n<p>Now we will add a new script to our <code>package.json<\/code> file: <\/p>\n\n\n\n<pre class=\"EnlighterJSRAW\">...\n  &quot;scripts: {\n    ...\n    &quot;prettier&quot;: &quot;prettier --write .&quot;\n  }<\/pre>\n\n\n\n<p>Now, we can simply run <code>npm run prettier<\/code><\/p>\n\n\n\n<p>I also recommend using <a href=\"https:\/\/marketplace.visualstudio.com\/items?itemName=esbenp.prettier-vscode\" target=\"_blank\" rel=\"noreferrer noopener nofollow\">Visual Code Prettier Extension<\/a> if you are using Visual Code as your Code Editor.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\" id=\"eslint\">ESLint<\/h2>\n\n\n\n<p>NextJs already has great support for <a href=\"https:\/\/nextjs.org\/docs\/basic-features\/eslint\" target=\"_blank\" rel=\"noreferrer noopener nofollow\">EsLint<\/a> itself. So we do not need to do much more to implement it. We can add our configuration to the file<code> .eslintrc.json<\/code><\/p>\n\n\n\n<pre class=\"EnlighterJSRAW\">{\n  &quot;extends&quot;: &#091;&quot;next&quot;, &quot;next\/core-web-vitals&quot;, &quot;eslint:recommended&quot;],\n  &quot;globals&quot;: {\n    &quot;React&quot;: &quot;readonly&quot;\n  },\n  &quot;rules&quot;: {\n    &quot;no-unused-vars&quot;: &#091;1, { &quot;args&quot;: &quot;after-used&quot;, &quot;argsIgnorePattern&quot;: &quot;^_&quot;    }]\n  }\n}<\/pre>\n\n\n\n<h2 class=\"wp-block-heading\" id=\"vscode\">Visual Code Settings<\/h2>\n\n\n\n<p>After setting up ESLint and Prettier, enhance them with VS Code by creating a <code>.vscode<\/code> folder in the root and adding a <code>settings.json<\/code> file to define settings that VS Code will automatically apply.<\/p>\n\n\n\n<p>In <code>.vscode\/settings.json<\/code> file add the following JSON<\/p>\n\n\n\n<pre class=\"EnlighterJSRAW\">{\n  &quot;editor.defaultFormatter&quot;: &quot;esbenp.prettier-vscode&quot;,\n  &quot;editor.formatOnSave&quot;: true,\n  &quot;editor.codeActionsOnSave&quot;: {\n    &quot;source.fixAll&quot;: true,\n    &quot;source.organizeImports&quot;: true\n  },\n  &quot;eslint.workingDirectories&quot;: &#091;&quot;.\/NextJs&quot;]\n}<\/pre>\n\n\n\n<h2 class=\"wp-block-heading\" id=\"directory-structure\">Directory Structure<\/h2>\n\n\n\n<p>Lastly, we will discuss the directory structure of our project. Typically, we will use three main directories.<\/p>\n\n\n\n<p>\/components\n\/lib\n\/pages<\/p>\n\n\n\n<p><code>components:<\/code> This directory is where you define all your React UI components.<\/p>\n\n\n\n<p><code>pages:<\/code>This is where you place your NextJs routes\/pages.<\/p>\n\n\n\n<p><code>lib:<\/code> This directory is for business logic, app utilities, and third-party integrations.<\/p>\n\n\n\n<p>That&#8217;s it! In this article, we aimed to cover how to set up a scalable Next.js project. Hope it helps! Please share your feedback in the comments.<\/p>\n\n\n\n<p>Start your&nbsp;<a href=\"https:\/\/webkul.com\/headless-commerce-development-services\/\" target=\"_blank\" rel=\"noreferrer noopener\">Headless Development<\/a>&nbsp;with Webkul.<br>Happy Coding&nbsp;!!<\/p>\n","protected":false},"excerpt":{"rendered":"<p>Whenever we set up a project, we ask how to approach it in the best way and what we can add to make it more robust and user-friendly. Let&#8217;s explore how to setup a NextJS Project. What is NextJs? If you are looking to develop a web application using Headless Architecture then NextJs is a <a href=\"https:\/\/webkul.com\/blog\/project-setup-next-js\/\">[&#8230;]<\/a><\/p>\n","protected":false},"author":362,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[13575,6357],"tags":[12572,13855,6359,6557,13856],"class_list":["post-373973","post","type-post","status-publish","format-standard","hentry","category-next-js","category-react-js","tag-next-js","tag-project-setup","tag-react-js","tag-setup","tag-structure"],"yoast_head":"<!-- This site is optimized with the Yoast SEO plugin v24.5 - https:\/\/yoast.com\/wordpress\/plugins\/seo\/ -->\n<title>How to setup Project in NextJs - Webkul Blog<\/title>\n<meta name=\"description\" content=\"We will learn a scalable NextJS Project Setup which help us to work with the team with a predefined code formatting and standard\" \/>\n<meta name=\"robots\" content=\"index, follow, max-snippet:-1, max-image-preview:large, max-video-preview:-1\" \/>\n<link rel=\"canonical\" href=\"https:\/\/webkul.com\/blog\/project-setup-next-js\/\" \/>\n<meta property=\"og:locale\" content=\"en_US\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"How to setup Project in NextJs - Webkul Blog\" \/>\n<meta property=\"og:description\" content=\"We will learn a scalable NextJS Project Setup which help us to work with the team with a predefined code formatting and standard\" \/>\n<meta property=\"og:url\" content=\"https:\/\/webkul.com\/blog\/project-setup-next-js\/\" \/>\n<meta property=\"og:site_name\" content=\"Webkul Blog\" \/>\n<meta property=\"article:publisher\" content=\"https:\/\/www.facebook.com\/webkul\/\" \/>\n<meta property=\"article:published_time\" content=\"2023-03-28T09:48:07+00:00\" \/>\n<meta property=\"article:modified_time\" content=\"2026-03-09T06:11:33+00:00\" \/>\n<meta property=\"og:image\" content=\"https:\/\/webkul.com\/blog\/wp-content\/uploads\/2023\/03\/Next-JS-Demo-App-1200x610.jpeg\" \/>\n<meta name=\"author\" content=\"Vikas Tiwari\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:creator\" content=\"@webkul\" \/>\n<meta name=\"twitter:site\" content=\"@webkul\" \/>\n<meta name=\"twitter:label1\" content=\"Written by\" \/>\n\t<meta name=\"twitter:data1\" content=\"Vikas Tiwari\" \/>\n\t<meta name=\"twitter:label2\" content=\"Est. reading time\" \/>\n\t<meta name=\"twitter:data2\" content=\"3 minutes\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\/\/schema.org\",\"@graph\":[{\"@type\":\"Article\",\"@id\":\"https:\/\/webkul.com\/blog\/project-setup-next-js\/#article\",\"isPartOf\":{\"@id\":\"https:\/\/webkul.com\/blog\/project-setup-next-js\/\"},\"author\":{\"name\":\"Vikas Tiwari\",\"@id\":\"https:\/\/webkul.com\/blog\/#\/schema\/person\/5f1a3d1e180e3468f8b2a6926cecff9b\"},\"headline\":\"How to setup Project in NextJs\",\"datePublished\":\"2023-03-28T09:48:07+00:00\",\"dateModified\":\"2026-03-09T06:11:33+00:00\",\"mainEntityOfPage\":{\"@id\":\"https:\/\/webkul.com\/blog\/project-setup-next-js\/\"},\"wordCount\":649,\"commentCount\":0,\"publisher\":{\"@id\":\"https:\/\/webkul.com\/blog\/#organization\"},\"image\":{\"@id\":\"https:\/\/webkul.com\/blog\/project-setup-next-js\/#primaryimage\"},\"thumbnailUrl\":\"https:\/\/webkul.com\/blog\/wp-content\/uploads\/2023\/03\/Next-JS-Demo-App-1200x610.jpeg\",\"keywords\":[\"Next.js\",\"project setup\",\"react js\",\"setup\",\"structure\"],\"articleSection\":[\"next js\",\"react js\"],\"inLanguage\":\"en-US\",\"potentialAction\":[{\"@type\":\"CommentAction\",\"name\":\"Comment\",\"target\":[\"https:\/\/webkul.com\/blog\/project-setup-next-js\/#respond\"]}]},{\"@type\":\"WebPage\",\"@id\":\"https:\/\/webkul.com\/blog\/project-setup-next-js\/\",\"url\":\"https:\/\/webkul.com\/blog\/project-setup-next-js\/\",\"name\":\"How to setup Project in NextJs - Webkul Blog\",\"isPartOf\":{\"@id\":\"https:\/\/webkul.com\/blog\/#website\"},\"primaryImageOfPage\":{\"@id\":\"https:\/\/webkul.com\/blog\/project-setup-next-js\/#primaryimage\"},\"image\":{\"@id\":\"https:\/\/webkul.com\/blog\/project-setup-next-js\/#primaryimage\"},\"thumbnailUrl\":\"https:\/\/webkul.com\/blog\/wp-content\/uploads\/2023\/03\/Next-JS-Demo-App-1200x610.jpeg\",\"datePublished\":\"2023-03-28T09:48:07+00:00\",\"dateModified\":\"2026-03-09T06:11:33+00:00\",\"description\":\"We will learn a scalable NextJS Project Setup which help us to work with the team with a predefined code formatting and standard\",\"breadcrumb\":{\"@id\":\"https:\/\/webkul.com\/blog\/project-setup-next-js\/#breadcrumb\"},\"inLanguage\":\"en-US\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\/\/webkul.com\/blog\/project-setup-next-js\/\"]}]},{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\/\/webkul.com\/blog\/project-setup-next-js\/#primaryimage\",\"url\":\"https:\/\/cdnblog.webkul.com\/blog\/wp-content\/uploads\/2023\/03\/Next-JS-Demo-App.jpeg\",\"contentUrl\":\"https:\/\/cdnblog.webkul.com\/blog\/wp-content\/uploads\/2023\/03\/Next-JS-Demo-App.jpeg\",\"width\":1864,\"height\":948,\"caption\":\"Next-JS-Demo-App\"},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\/\/webkul.com\/blog\/project-setup-next-js\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Home\",\"item\":\"https:\/\/webkul.com\/blog\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"How to setup Project in NextJs\"}]},{\"@type\":\"WebSite\",\"@id\":\"https:\/\/webkul.com\/blog\/#website\",\"url\":\"https:\/\/webkul.com\/blog\/\",\"name\":\"Webkul Blog\",\"description\":\"\",\"publisher\":{\"@id\":\"https:\/\/webkul.com\/blog\/#organization\"},\"potentialAction\":[{\"@type\":\"SearchAction\",\"target\":{\"@type\":\"EntryPoint\",\"urlTemplate\":\"https:\/\/webkul.com\/blog\/?s={search_term_string}\"},\"query-input\":{\"@type\":\"PropertyValueSpecification\",\"valueRequired\":true,\"valueName\":\"search_term_string\"}}],\"inLanguage\":\"en-US\"},{\"@type\":\"Organization\",\"@id\":\"https:\/\/webkul.com\/blog\/#organization\",\"name\":\"WebKul Software Private Limited\",\"url\":\"https:\/\/webkul.com\/blog\/\",\"logo\":{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\/\/webkul.com\/blog\/#\/schema\/logo\/image\/\",\"url\":\"https:\/\/cdnblog.webkul.com\/blog\/wp-content\/uploads\/2021\/08\/webkul-logo-accent-sq.png\",\"contentUrl\":\"https:\/\/cdnblog.webkul.com\/blog\/wp-content\/uploads\/2021\/08\/webkul-logo-accent-sq.png\",\"width\":380,\"height\":380,\"caption\":\"WebKul Software Private Limited\"},\"image\":{\"@id\":\"https:\/\/webkul.com\/blog\/#\/schema\/logo\/image\/\"},\"sameAs\":[\"https:\/\/www.facebook.com\/webkul\/\",\"https:\/\/x.com\/webkul\",\"https:\/\/www.instagram.com\/webkul\/\",\"https:\/\/www.linkedin.com\/company\/webkul\",\"https:\/\/www.youtube.com\/user\/webkul\/\"]},{\"@type\":\"Person\",\"@id\":\"https:\/\/webkul.com\/blog\/#\/schema\/person\/5f1a3d1e180e3468f8b2a6926cecff9b\",\"name\":\"Vikas Tiwari\",\"image\":{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\/\/webkul.com\/blog\/#\/schema\/person\/image\/\",\"url\":\"https:\/\/secure.gravatar.com\/avatar\/49a0fe188f08a80af6fe7b6487da3a3e3adc1be472186b3f0eb833eff1323d10?s=96&d=https%3A%2F%2Fcdnblog.webkul.com%2Fblog%2Fwp-content%2Fuploads%2F2019%2F10%2Fmike.png&r=g\",\"contentUrl\":\"https:\/\/secure.gravatar.com\/avatar\/49a0fe188f08a80af6fe7b6487da3a3e3adc1be472186b3f0eb833eff1323d10?s=96&d=https%3A%2F%2Fcdnblog.webkul.com%2Fblog%2Fwp-content%2Fuploads%2F2019%2F10%2Fmike.png&r=g\",\"caption\":\"Vikas Tiwari\"},\"url\":\"https:\/\/webkul.com\/blog\/author\/vikastiwari-magento160\/\"}]}<\/script>\n<!-- \/ Yoast SEO plugin. -->","yoast_head_json":{"title":"How to setup Project in NextJs - Webkul Blog","description":"We will learn a scalable NextJS Project Setup which help us to work with the team with a predefined code formatting and standard","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:\/\/webkul.com\/blog\/project-setup-next-js\/","og_locale":"en_US","og_type":"article","og_title":"How to setup Project in NextJs - Webkul Blog","og_description":"We will learn a scalable NextJS Project Setup which help us to work with the team with a predefined code formatting and standard","og_url":"https:\/\/webkul.com\/blog\/project-setup-next-js\/","og_site_name":"Webkul Blog","article_publisher":"https:\/\/www.facebook.com\/webkul\/","article_published_time":"2023-03-28T09:48:07+00:00","article_modified_time":"2026-03-09T06:11:33+00:00","og_image":[{"url":"https:\/\/webkul.com\/blog\/wp-content\/uploads\/2023\/03\/Next-JS-Demo-App-1200x610.jpeg","type":"","width":"","height":""}],"author":"Vikas Tiwari","twitter_card":"summary_large_image","twitter_creator":"@webkul","twitter_site":"@webkul","twitter_misc":{"Written by":"Vikas Tiwari","Est. reading time":"3 minutes"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"Article","@id":"https:\/\/webkul.com\/blog\/project-setup-next-js\/#article","isPartOf":{"@id":"https:\/\/webkul.com\/blog\/project-setup-next-js\/"},"author":{"name":"Vikas Tiwari","@id":"https:\/\/webkul.com\/blog\/#\/schema\/person\/5f1a3d1e180e3468f8b2a6926cecff9b"},"headline":"How to setup Project in NextJs","datePublished":"2023-03-28T09:48:07+00:00","dateModified":"2026-03-09T06:11:33+00:00","mainEntityOfPage":{"@id":"https:\/\/webkul.com\/blog\/project-setup-next-js\/"},"wordCount":649,"commentCount":0,"publisher":{"@id":"https:\/\/webkul.com\/blog\/#organization"},"image":{"@id":"https:\/\/webkul.com\/blog\/project-setup-next-js\/#primaryimage"},"thumbnailUrl":"https:\/\/webkul.com\/blog\/wp-content\/uploads\/2023\/03\/Next-JS-Demo-App-1200x610.jpeg","keywords":["Next.js","project setup","react js","setup","structure"],"articleSection":["next js","react js"],"inLanguage":"en-US","potentialAction":[{"@type":"CommentAction","name":"Comment","target":["https:\/\/webkul.com\/blog\/project-setup-next-js\/#respond"]}]},{"@type":"WebPage","@id":"https:\/\/webkul.com\/blog\/project-setup-next-js\/","url":"https:\/\/webkul.com\/blog\/project-setup-next-js\/","name":"How to setup Project in NextJs - Webkul Blog","isPartOf":{"@id":"https:\/\/webkul.com\/blog\/#website"},"primaryImageOfPage":{"@id":"https:\/\/webkul.com\/blog\/project-setup-next-js\/#primaryimage"},"image":{"@id":"https:\/\/webkul.com\/blog\/project-setup-next-js\/#primaryimage"},"thumbnailUrl":"https:\/\/webkul.com\/blog\/wp-content\/uploads\/2023\/03\/Next-JS-Demo-App-1200x610.jpeg","datePublished":"2023-03-28T09:48:07+00:00","dateModified":"2026-03-09T06:11:33+00:00","description":"We will learn a scalable NextJS Project Setup which help us to work with the team with a predefined code formatting and standard","breadcrumb":{"@id":"https:\/\/webkul.com\/blog\/project-setup-next-js\/#breadcrumb"},"inLanguage":"en-US","potentialAction":[{"@type":"ReadAction","target":["https:\/\/webkul.com\/blog\/project-setup-next-js\/"]}]},{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/webkul.com\/blog\/project-setup-next-js\/#primaryimage","url":"https:\/\/cdnblog.webkul.com\/blog\/wp-content\/uploads\/2023\/03\/Next-JS-Demo-App.jpeg","contentUrl":"https:\/\/cdnblog.webkul.com\/blog\/wp-content\/uploads\/2023\/03\/Next-JS-Demo-App.jpeg","width":1864,"height":948,"caption":"Next-JS-Demo-App"},{"@type":"BreadcrumbList","@id":"https:\/\/webkul.com\/blog\/project-setup-next-js\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Home","item":"https:\/\/webkul.com\/blog\/"},{"@type":"ListItem","position":2,"name":"How to setup Project in NextJs"}]},{"@type":"WebSite","@id":"https:\/\/webkul.com\/blog\/#website","url":"https:\/\/webkul.com\/blog\/","name":"Webkul Blog","description":"","publisher":{"@id":"https:\/\/webkul.com\/blog\/#organization"},"potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/webkul.com\/blog\/?s={search_term_string}"},"query-input":{"@type":"PropertyValueSpecification","valueRequired":true,"valueName":"search_term_string"}}],"inLanguage":"en-US"},{"@type":"Organization","@id":"https:\/\/webkul.com\/blog\/#organization","name":"WebKul Software Private Limited","url":"https:\/\/webkul.com\/blog\/","logo":{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/webkul.com\/blog\/#\/schema\/logo\/image\/","url":"https:\/\/cdnblog.webkul.com\/blog\/wp-content\/uploads\/2021\/08\/webkul-logo-accent-sq.png","contentUrl":"https:\/\/cdnblog.webkul.com\/blog\/wp-content\/uploads\/2021\/08\/webkul-logo-accent-sq.png","width":380,"height":380,"caption":"WebKul Software Private Limited"},"image":{"@id":"https:\/\/webkul.com\/blog\/#\/schema\/logo\/image\/"},"sameAs":["https:\/\/www.facebook.com\/webkul\/","https:\/\/x.com\/webkul","https:\/\/www.instagram.com\/webkul\/","https:\/\/www.linkedin.com\/company\/webkul","https:\/\/www.youtube.com\/user\/webkul\/"]},{"@type":"Person","@id":"https:\/\/webkul.com\/blog\/#\/schema\/person\/5f1a3d1e180e3468f8b2a6926cecff9b","name":"Vikas Tiwari","image":{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/webkul.com\/blog\/#\/schema\/person\/image\/","url":"https:\/\/secure.gravatar.com\/avatar\/49a0fe188f08a80af6fe7b6487da3a3e3adc1be472186b3f0eb833eff1323d10?s=96&d=https%3A%2F%2Fcdnblog.webkul.com%2Fblog%2Fwp-content%2Fuploads%2F2019%2F10%2Fmike.png&r=g","contentUrl":"https:\/\/secure.gravatar.com\/avatar\/49a0fe188f08a80af6fe7b6487da3a3e3adc1be472186b3f0eb833eff1323d10?s=96&d=https%3A%2F%2Fcdnblog.webkul.com%2Fblog%2Fwp-content%2Fuploads%2F2019%2F10%2Fmike.png&r=g","caption":"Vikas Tiwari"},"url":"https:\/\/webkul.com\/blog\/author\/vikastiwari-magento160\/"}]}},"amp_enabled":true,"_links":{"self":[{"href":"https:\/\/webkul.com\/blog\/wp-json\/wp\/v2\/posts\/373973","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/webkul.com\/blog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/webkul.com\/blog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/webkul.com\/blog\/wp-json\/wp\/v2\/users\/362"}],"replies":[{"embeddable":true,"href":"https:\/\/webkul.com\/blog\/wp-json\/wp\/v2\/comments?post=373973"}],"version-history":[{"count":23,"href":"https:\/\/webkul.com\/blog\/wp-json\/wp\/v2\/posts\/373973\/revisions"}],"predecessor-version":[{"id":529586,"href":"https:\/\/webkul.com\/blog\/wp-json\/wp\/v2\/posts\/373973\/revisions\/529586"}],"wp:attachment":[{"href":"https:\/\/webkul.com\/blog\/wp-json\/wp\/v2\/media?parent=373973"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/webkul.com\/blog\/wp-json\/wp\/v2\/categories?post=373973"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/webkul.com\/blog\/wp-json\/wp\/v2\/tags?post=373973"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}