Next.js + Magento 2 (Headless) Project Structure
Assuming:
- Next.js 14+ (App Router)
- TypeScript
- Magento 2 GraphQL
- Enterprise-grade scalability
Root Structure
app/ (Routing & Pages)
Each route directly maps to Magento URLs (SEO friendly)
components/ (Reusable UI)
features/ (Enterprise Pattern)
Each business domain is isolated.
This keeps Magento logic clean & scalable
graphql/ (Magento Queries)
lib/ (Core Setup)
services/ (API Abstraction)
Pages never talk directly to GraphQL
store/ (Global State)
(State managers: Zustand / Redux Toolkit)
hooks/
types/
.env.local
Middleware Example (Auth / Redirects)
Why This Structure Is Enterprise-Grade
- Clean separation of concerns
- Magento logic isolated
- Easy to scale teams
- SEO friendly
- Matches Adobe PWA concepts
- Easy migration from PWA Studio