engine-blog/ ├─ public/ # static files (images, logos, favicons) │ ├─ images/ │ │ ├─ posts/ # images for blog posts │ │ └─ logo.png │ └─ favicon.ico │ ├─ pages/ # Next.js pages │ ├─ index.tsx # homepage, latest posts │ ├─ about.tsx # about page │ ├─ contact.tsx # contact page with form │ └─ posts/ # dynamic blog post pages │ └─ [slug].tsx # dynamic route for each post │ ├─ components/ # reusable UI components │ ├─ Header.tsx │ ├─ Footer.tsx │ ├─ Navbar.tsx │ ├─ PostCard.tsx # preview card for posts │ └─ Layout.tsx # page wrapper with Header/Footer │ ├─ styles/ # global and component styles │ ├─ globals.css │ └─ tailwind.css # if using Tailwind │ ├─ lib/ # utility functions & data fetching │ ├─ posts.ts # fetch blog posts from Markdown or CMS │ └─ categories.ts # optional: manage categories/tags │ ├─ data/ # optional local data (Markdown posts) │ └─ posts/ # markdown files for blog posts │ └─ welcome.md │ ├─ hooks/ # custom React hooks │ └─ usePosts.ts │ ├─ context/ # React context for global state │ └─ ThemeContext.tsx │ ├─ public/ # images, assets, icons │ ├─ next.config.js # Next.js configuration ├─ tailwind.config.js # if using Tailwind ├─ tsconfig.json # TypeScript config ├─ package.json └─ README.md