Skip to main content

index

docs/
└── tutorials/
└── nextjs/
β”œβ”€β”€ index.mdx
β”œβ”€β”€ 01-introduction/
β”‚ β”œβ”€β”€ what-is-nextjs.mdx
β”‚ β”œβ”€β”€ why-use-nextjs.mdx
β”‚ β”œβ”€β”€ nextjs-features.mdx
β”‚ β”œβ”€β”€ nextjs-vs-react.mdx
β”‚ β”œβ”€β”€ nextjs-architecture.mdx
β”‚ β”œβ”€β”€ app-router-vs-pages-router.mdx
β”‚ └── nextjs-rendering-strategies.mdx
β”œβ”€β”€ 02-prerequisites/
β”‚ β”œβ”€β”€ html-css-and-javascript.mdx
β”‚ β”œβ”€β”€ modern-javascript.mdx
β”‚ β”œβ”€β”€ react-fundamentals.mdx
β”‚ β”œβ”€β”€ jsx-and-tsx.mdx
β”‚ β”œβ”€β”€ react-components-and-props.mdx
β”‚ β”œβ”€β”€ react-state-and-hooks.mdx
β”‚ └── typescript-for-nextjs.mdx
β”œβ”€β”€ 03-environment-setup/
β”‚ β”œβ”€β”€ install-nodejs.mdx
β”‚ β”œβ”€β”€ setup-vscode.mdx
β”‚ β”œβ”€β”€ install-nextjs.mdx
β”‚ β”œβ”€β”€ create-nextjs-project.mdx
β”‚ β”œβ”€β”€ configure-typescript.mdx
β”‚ β”œβ”€β”€ configure-tailwind-css.mdx
β”‚ └── run-development-server.mdx
β”œβ”€β”€ 04-project-structure/
β”‚ β”œβ”€β”€ nextjs-directory-layout.mdx
β”‚ β”œβ”€β”€ app-directory.mdx
β”‚ β”œβ”€β”€ public-directory.mdx
β”‚ β”œβ”€β”€ package-json-explained.mdx
β”‚ β”œβ”€β”€ next-config.mdx
β”‚ β”œβ”€β”€ environment-files.mdx
β”‚ └── conventions-and-file-naming.mdx
β”œβ”€β”€ 05-routing-and-navigation/
β”‚ β”œβ”€β”€ file-system-routing.mdx
β”‚ β”œβ”€β”€ pages-and-layouts.mdx
β”‚ β”œβ”€β”€ nested-routes.mdx
β”‚ β”œβ”€β”€ dynamic-route-segments.mdx
β”‚ β”œβ”€β”€ catch-all-routes.mdx
β”‚ β”œβ”€β”€ route-groups.mdx
β”‚ β”œβ”€β”€ private-folders.mdx
β”‚ β”œβ”€β”€ navigation-with-link.mdx
β”‚ β”œβ”€β”€ usepathname-and-useparams.mdx
β”‚ β”œβ”€β”€ redirects-and-not-found.mdx
β”‚ β”œβ”€β”€ loading-ui.mdx
β”‚ └── parallel-and-intercepting-routes.mdx
β”œβ”€β”€ 06-react-server-and-client-components/
β”‚ β”œβ”€β”€ server-components-explained.mdx
β”‚ β”œβ”€β”€ client-components-explained.mdx
β”‚ β”œβ”€β”€ use-client-directive.mdx
β”‚ β”œβ”€β”€ component-boundaries.mdx
β”‚ β”œβ”€β”€ passing-serializable-props.mdx
β”‚ β”œβ”€β”€ server-and-client-composition.mdx
β”‚ β”œβ”€β”€ client-side-interactivity.mdx
β”‚ └── common-component-boundary-errors.mdx
β”œβ”€β”€ 07-styling-and-ui/
β”‚ β”œβ”€β”€ global-css.mdx
β”‚ β”œβ”€β”€ css-modules.mdx
β”‚ β”œβ”€β”€ tailwind-css.mdx
β”‚ β”œβ”€β”€ responsive-design.mdx
β”‚ β”œβ”€β”€ fonts-with-next-font.mdx
β”‚ β”œβ”€β”€ images-with-next-image.mdx
β”‚ β”œβ”€β”€ component-libraries.mdx
β”‚ β”œβ”€β”€ design-systems.mdx
β”‚ └── dark-mode-and-theming.mdx
β”œβ”€β”€ 08-data-fetching/
β”‚ β”œβ”€β”€ data-fetching-overview.mdx
β”‚ β”œβ”€β”€ fetch-in-server-components.mdx
β”‚ β”œβ”€β”€ async-server-components.mdx
β”‚ β”œβ”€β”€ fetching-from-external-apis.mdx
β”‚ β”œβ”€β”€ loading-and-error-states.mdx
β”‚ β”œβ”€β”€ parallel-and-sequential-fetching.mdx
β”‚ β”œβ”€β”€ request-deduplication.mdx
β”‚ β”œβ”€β”€ client-side-data-fetching.mdx
β”‚ β”œβ”€β”€ pagination-and-filtering.mdx
β”‚ └── data-validation-with-zod.mdx
β”œβ”€β”€ 09-rendering-and-caching/
β”‚ β”œβ”€β”€ static-rendering.mdx
β”‚ β”œβ”€β”€ dynamic-rendering.mdx
β”‚ β”œβ”€β”€ server-side-rendering.mdx
β”‚ β”œβ”€β”€ static-site-generation.mdx
β”‚ β”œβ”€β”€ streaming-and-suspense.mdx
β”‚ β”œβ”€β”€ cache-components-and-caching.mdx
β”‚ β”œβ”€β”€ revalidation-and-invalidation.mdx
β”‚ β”œβ”€β”€ client-router-cache.mdx
β”‚ β”œβ”€β”€ cache-debugging.mdx
β”‚ └── rendering-strategy-selection.mdx
β”œβ”€β”€ 10-server-actions-and-mutations/
β”‚ β”œβ”€β”€ server-functions-overview.mdx
β”‚ β”œβ”€β”€ server-actions-fundamentals.mdx
β”‚ β”œβ”€β”€ form-submissions.mdx
β”‚ β”œβ”€β”€ useactionstate.mdx
β”‚ β”œβ”€β”€ usetransition.mdx
β”‚ β”œβ”€β”€ optimistic-updates.mdx
β”‚ β”œβ”€β”€ server-side-validation.mdx
β”‚ β”œβ”€β”€ mutation-error-handling.mdx
β”‚ └── revalidate-after-mutations.mdx
β”œβ”€β”€ 11-route-handlers-and-api-development/
β”‚ β”œβ”€β”€ route-handlers-fundamentals.mdx
β”‚ β”œβ”€β”€ get-post-put-and-delete.mdx
β”‚ β”œβ”€β”€ request-and-response-objects.mdx
β”‚ β”œβ”€β”€ query-parameters.mdx
β”‚ β”œβ”€β”€ dynamic-route-handlers.mdx
β”‚ β”œβ”€β”€ request-validation.mdx
β”‚ β”œβ”€β”€ api-error-handling.mdx
β”‚ β”œβ”€β”€ cors-and-api-security.mdx
β”‚ └── api-documentation.mdx
β”œβ”€β”€ 12-forms-and-validation/
β”‚ β”œβ”€β”€ react-forms-in-nextjs.mdx
β”‚ β”œβ”€β”€ controlled-and-uncontrolled-inputs.mdx
β”‚ β”œβ”€β”€ server-side-form-validation.mdx
β”‚ β”œβ”€β”€ client-side-validation.mdx
β”‚ β”œβ”€β”€ zod-and-typescript.mdx
β”‚ β”œβ”€β”€ accessible-form-errors.mdx
β”‚ β”œβ”€β”€ file-uploads.mdx
β”‚ └── secure-form-submissions.mdx
β”œβ”€β”€ 13-database-and-orm/
β”‚ β”œβ”€β”€ database-integration-overview.mdx
β”‚ β”œβ”€β”€ postgresql-setup.mdx
β”‚ β”œβ”€β”€ prisma-orm.mdx
β”‚ β”œβ”€β”€ drizzle-orm.mdx
β”‚ β”œβ”€β”€ database-schema-design.mdx
β”‚ β”œβ”€β”€ migrations-and-seeding.mdx
β”‚ β”œβ”€β”€ queries-and-transactions.mdx
β”‚ β”œβ”€β”€ connection-pooling.mdx
β”‚ β”œβ”€β”€ server-only-database-access.mdx
β”‚ └── database-error-handling.mdx
β”œβ”€β”€ 14-authentication-and-authorization/
β”‚ β”œβ”€β”€ authentication-fundamentals.mdx
β”‚ β”œβ”€β”€ authentication-library-selection.mdx
β”‚ β”œβ”€β”€ login-and-registration.mdx
β”‚ β”œβ”€β”€ sessions-and-cookies.mdx
β”‚ β”œβ”€β”€ oauth-and-social-login.mdx
β”‚ β”œβ”€β”€ route-protection.mdx
β”‚ β”œβ”€β”€ authorization-and-permissions.mdx
β”‚ β”œβ”€β”€ server-side-session-validation.mdx
β”‚ β”œβ”€β”€ secure-password-storage.mdx
β”‚ └── authentication-security-checklist.mdx
β”œβ”€β”€ 15-state-management/
β”‚ β”œβ”€β”€ react-state-in-nextjs.mdx
β”‚ β”œβ”€β”€ context-api.mdx
β”‚ β”œβ”€β”€ zustand-integration.mdx
β”‚ β”œβ”€β”€ redux-toolkit-integration.mdx
β”‚ β”œβ”€β”€ url-state-and-search-params.mdx
β”‚ β”œβ”€β”€ server-state-vs-client-state.mdx
β”‚ └── state-management-best-practices.mdx
β”œβ”€β”€ 16-metadata-seo-and-content/
β”‚ β”œβ”€β”€ metadata-api.mdx
β”‚ β”œβ”€β”€ dynamic-metadata.mdx
β”‚ β”œβ”€β”€ open-graph-and-social-images.mdx
β”‚ β”œβ”€β”€ sitemap-generation.mdx
β”‚ β”œβ”€β”€ robots-txt.mdx
β”‚ β”œβ”€β”€ canonical-urls.mdx
β”‚ β”œβ”€β”€ structured-data.mdx
β”‚ β”œβ”€β”€ mdx-and-content-collections.mdx
β”‚ └── seo-audit-checklist.mdx
β”œβ”€β”€ 17-performance-and-optimization/
β”‚ β”œβ”€β”€ core-web-vitals.mdx
β”‚ β”œβ”€β”€ image-optimization.mdx
β”‚ β”œβ”€β”€ font-optimization.mdx
β”‚ β”œβ”€β”€ code-splitting.mdx
β”‚ β”œβ”€β”€ lazy-loading-components.mdx
β”‚ β”œβ”€β”€ bundle-analysis.mdx
β”‚ β”œβ”€β”€ reducing-client-javascript.mdx
β”‚ β”œβ”€β”€ performance-profiling.mdx
β”‚ └── production-performance-checklist.mdx
β”œβ”€β”€ 18-security-and-reliability/
β”‚ β”œβ”€β”€ nextjs-security-fundamentals.mdx
β”‚ β”œβ”€β”€ server-side-secrets.mdx
β”‚ β”œβ”€β”€ environment-variable-security.mdx
β”‚ β”œβ”€β”€ xss-and-safe-rendering.mdx
β”‚ β”œβ”€β”€ csrf-and-origin-validation.mdx
β”‚ β”œβ”€β”€ rate-limiting.mdx
β”‚ β”œβ”€β”€ authorization-in-server-functions.mdx
β”‚ β”œβ”€β”€ secure-redirects.mdx
β”‚ └── dependency-security.mdx
β”œβ”€β”€ 19-testing-and-code-quality/
β”‚ β”œβ”€β”€ testing-strategy.mdx
β”‚ β”œβ”€β”€ vitest-setup.mdx
β”‚ β”œβ”€β”€ react-testing-library.mdx
β”‚ β”œβ”€β”€ component-testing.mdx
β”‚ β”œβ”€β”€ server-component-testing.mdx
β”‚ β”œβ”€β”€ api-route-testing.mdx
β”‚ β”œβ”€β”€ end-to-end-testing-with-playwright.mdx
β”‚ β”œβ”€β”€ mock-data-and-test-fixtures.mdx
β”‚ β”œβ”€β”€ eslint-and-formatting.mdx
β”‚ └── continuous-integration.mdx
β”œβ”€β”€ 20-advanced-nextjs/
β”‚ β”œβ”€β”€ middleware-and-request-interception.mdx
β”‚ β”œβ”€β”€ edge-and-nodejs-runtimes.mdx
β”‚ β”œβ”€β”€ internationalization.mdx
β”‚ β”œβ”€β”€ multi-tenant-applications.mdx
β”‚ β”œβ”€β”€ background-jobs-and-queues.mdx
β”‚ β”œβ”€β”€ webhooks.mdx
β”‚ β”œβ”€β”€ streaming-large-responses.mdx
β”‚ β”œβ”€β”€ progressive-enhancement.mdx
β”‚ └── migrating-from-pages-router.mdx
β”œβ”€β”€ 21-deployment-and-devops/
β”‚ β”œβ”€β”€ production-builds.mdx
β”‚ β”œβ”€β”€ deployment-environments.mdx
β”‚ β”œβ”€β”€ deploy-to-vercel.mdx
β”‚ β”œβ”€β”€ self-hosted-deployment.mdx
β”‚ β”œβ”€β”€ dockerize-nextjs.mdx
β”‚ β”œβ”€β”€ reverse-proxy-and-cdn.mdx
β”‚ β”œβ”€β”€ ci-cd-with-github-actions.mdx
β”‚ β”œβ”€β”€ environment-configuration.mdx
β”‚ β”œβ”€β”€ logging-and-monitoring.mdx
β”‚ └── production-deployment-checklist.mdx
β”œβ”€β”€ 22-pages-router/
β”‚ β”œβ”€β”€ pages-directory-overview.mdx
β”‚ β”œβ”€β”€ file-based-routing.mdx
β”‚ β”œβ”€β”€ getstaticprops.mdx
β”‚ β”œβ”€β”€ getserversideprops.mdx
β”‚ β”œβ”€β”€ getstaticpaths.mdx
β”‚ β”œβ”€β”€ api-routes.mdx
β”‚ β”œβ”€β”€ custom-app-and-document.mdx
β”‚ └── pages-router-migration.mdx
β”œβ”€β”€ 23-projects/
β”‚ β”œβ”€β”€ personal-portfolio.mdx
β”‚ β”œβ”€β”€ markdown-blog.mdx
β”‚ β”œβ”€β”€ weather-dashboard.mdx
β”‚ β”œβ”€β”€ task-management-app.mdx
β”‚ β”œβ”€β”€ ecommerce-storefront.mdx
β”‚ β”œβ”€β”€ admin-dashboard.mdx
β”‚ β”œβ”€β”€ authentication-platform.mdx
β”‚ └── production-capstone.mdx
β”œβ”€β”€ reference/
β”‚ β”œβ”€β”€ app-router-file-conventions.mdx
β”‚ β”œβ”€β”€ nextjs-directives-cheatsheet.mdx
β”‚ β”œβ”€β”€ rendering-and-caching-reference.mdx
β”‚ β”œβ”€β”€ environment-variables-reference.mdx
β”‚ β”œβ”€β”€ common-errors-and-solutions.mdx
β”‚ β”œβ”€β”€ glossary.mdx
β”‚ └── official-resources.mdx
└── assets/
β”œβ”€β”€ images/
β”œβ”€β”€ diagrams/
└── examples/