Project Structure

This section provides an overview of Project Structure.

Project Structure Overview

app

This folder contains the main application code for Next.js, managing layouts, routing, and specific content pages. It is organized to support both the docs and blog sections, with dedicated pages and layouts for each section.

app
page.tsx
layout.tsx
blog
docs

components

This folder contains all reusable components used throughout the project. It’s structured to categorize components, making it easy to locate and manage UI elements, Markdown customizations, and navigation.

components
ui
markdown
note.tsx
image.tsx
table.tsx
navbar.tsx

styles

This folder contains global and component-specific CSS files, allowing for project-wide styling consistency and customizations.

styles
globals.css
syntax.css
overrides.css

contents

This folder stores all Markdown content for the documentation and blog sections, with clear organization by content type. Each Markdown file represents a single piece of content, with frontmatter used for metadata.

contents
docs
getting-started.md
api-reference.md
tutorials
tutorial-1.md
blogs
intro-to-project.md
dev-updates.md

public

This folder holds all static assets, such as images, videos, fonts, and icons. These files are directly accessible via URL, so it’s important to avoid sensitive or private content here.

public
images
logo.png
banner.jpg
icons
videos

lib

This folder contains helper functions and utilities used across the application, such as Markdown parsing and routing logic. These utilities help keep the codebase clean and organized by separating out common functionality.

lib
markdown.ts
routes-config.ts
utils.tsx

Additional

  • package.json: Contains metadata about the project, dependencies, and scripts for building and running the application.
  • tailwind.config.ts: Configures Tailwind CSS, allowing customization of theme colors, fonts, and responsive breakpoints specific to this project.

This structure organizes your project in a way that supports scalability and maintainability, making it easier to navigate and work on different sections of the application.