Clean Architecture Next.js
— NextJS, Architecture, Clean Code, Typescript — 2 min read
Clean Architecture di Next.js – Cara Saya Bangun Project Besar yang Gampang Di-maintain di 2026
Halo teman-teman,
Semakin lama saya coding, semakin saya sadar bahwa struktur folder dan arsitektur jauh lebih penting daripada seberapa canggih tech stack yang dipakai.
Tahun ini saya banyak refactor project besar menggunakan pendekatan Clean Architecture + Feature-Sliced Design. Ini dia cara saya mengatur project Next.js sekarang:
1. Struktur Folder yang Saya Pakai
/src /app → Next.js App Router (route handlers, pages) /features → Fitur-fitur utama (user, invoice, dashboard, dll) /entities → Business entities (User, Order, Invoice, dll) /shared → Komponen, utils, hooks, UI library /lib → Config, database, auth, third-party /server → Server actions, repositories, services2. Feature-Sliced Design (Paling Saya Sukai)
Setiap fitur punya struktur sendiri:
/features/invoice /ui → Komponen UI khusus invoice /api → Route handlers & server actions /model → Types, schemas (Zod), entities /lib → Business logic & services /hooks → Custom hooks3. Layer Arsitektur
- Entities → Pure business logic, tidak tahu tentang framework
- Use Cases / Services → Logic aplikasi
- Adapters → Implementasi konkret (database, API external)
- Framework → Next.js, React, dll di paling luar
4. Manfaat yang Saya Rasakan
- Mudah onboarding developer baru
- Sangat mudah untuk testing (unit & integration)
- Bisa reuse logic antar fitur
- Scalable ketika project semakin besar
- Frontend & Backend logic lebih terpisah
Kesimpulan
Clean Architecture bukan cuma "keren di kertas". Di project real, ini bikin saya dan tim jauh lebih cepat mengembangkan fitur baru dan jarang ketemu spaghetti code.
Kalau project kamu sudah mulai terasa "berat" dan susah diubah-ubah, mungkin saatnya refactor struktur.
Pertanyaan buat kalian:
Project kalian pakai struktur folder seperti apa?
Pernah coba Clean Architecture atau Feature-Sliced Design? Gimana pengalamannya?
Cerita di komentar yuk, saya suka banget diskusi soal architecture!
— Ady Rahmansyah
Software Engineer | Tech Blogger | Coffee Addict