Newsletter
Join the Community
Subscribe to our newsletter for the latest news and updates
✨ Template of NextJS Project using Hexagonal Architecture

A full-stack Next.js TypeScript template focused on functionality over UI, featuring Zustand, TanStack Query, and ESLint 9 support.
Next Hexagonal Architecture is an open-source, MIT-licensed Next.js 15 template that applies hexagonal architecture to a React 19 project, pairing the App Router with Bun, TailwindCSS v4, shadcn/ui, Zod, Vitest, and Cypress out of the box.
Next Hexagonal Architecture is a free, open-source template for building Next.js applications using a layered hexagonal structure. It takes a blank project skeleton and produces a working app with domain, application, and infrastructure layers under src/modules and a presentation layer of shadcn/ui components under src/sections. It runs on Next.js 15.4.1 with the App Router, React 19, and TypeScript 5, and uses Bun as its package manager and runtime. The repository is public on GitHub and licensed under MIT.
src/modules, with UI presentation separated into src/sections.src/app/api.tailwind.config.ts, plus prebuilt shadcn/ui components including button, card, input, and label.@hookform/resolvers integrating Zod with React Hook Form.src/e2e/tests.bun install.bun test for unit tests and bun run cy:open for interactive Cypress E2E tests to validate the stack in your own environment.The template is organized into four layers: domain entities, application use cases, infrastructure adapters, and presentation sections. To start, clone the repository, run bun install, then bun dev and visit http://localhost:3000. The included welcome feature demonstrates the full request flow from UI through the application layer to the infrastructure adapters.
The template is free and open source under the MIT License, with no paid tiers or usage limits.
Yes, the project is open source and released under the MIT License, so you can use it commercially, modify it, and redistribute it without paying a license fee.
The template uses Next.js 15.4.1 and React 19, with TypeScript 5, TailwindCSS v4, and shadcn/ui components. The README also lists the exact tool versions for each dependency.
Every command in the README uses Bun, from bun install and bun dev to bun test and bun run cy:run. If you prefer another package manager, you will need to translate the commands.
Yes, Cypress is configured with a config file and test files under src/e2e/tests, and you can run it in headless mode with bun run cy:run or interactively with bun run cy:open.
No. Biome.js is configured as the linter and formatter, and the README states that it replaces ESLint and Prettier. The bun run lint and bun run format commands invoke Biome.
