Next.js App Router tabanlı, React Query + Zustand + Shadcn/UI altyapısı ile operasyon yönetimi odaklı admin panel. docker ile kurulum ve çalıştırma kolaylığı sağlar.
- ✅ Next.js 15 App Router
- ✅ TypeScript
- ✅ Tailwind CSS 4
- ✅ Shadcn/UI bileşenleri
- ✅ React Query (veri yönetimi)
- ✅ Zustand (state management)
- ✅ Dark/Light tema
- ✅ Responsive tasarım
- ✅ Mock auth sistemi
- ✅ E2E testler (Playwright)
- ✅ Docker desteği
- ✅ Security headers
- ✅ SEO optimizasyonu
# Bağımlılıkları yükle
npm install
# Environment dosyasını oluştur
cp .env.example .env.local
# Geliştirme sunucusunu başlat
npm run devUygulama: http://localhost:3000
npm run dev— geliştirme sunucusunpm run build— production buildnpm run start— production sunucusunpm run lint— ESLint kontrolünpm run lint:fix— ESLint otomatik düzeltmenpm run format— Prettier formatlanpm run type-check— TypeScript tip kontrolünpm test— Playwright E2E testlerinpm run test:ui— Playwright UI modunpm run test:debug— Playwright debug modu
# Image oluştur
docker build -t admin-panel .
# Container başlat
docker run -p 3000:3000 admin-panelDocker Compose:
docker compose up --buildsrc/config/site.ts— proje adı, açıklama, URLsrc/config/nav.ts— sidebar menü yapısısrc/app/globals.css— tema ve renk paleti.env.example— örnek environment değişkenlerimiddleware.ts— auth middleware
# App
NEXT_PUBLIC_APP_URL=http://localhost:3000
# API
NEXT_PUBLIC_API_URL=http://localhost:3001/api
# Mock Auth (geliştirme için)
NEXT_PUBLIC_MOCK_AUTH=true
NEXT_PUBLIC_DISABLE_MIDDLEWARE=trueBackend olmadan geliştirme için .env.local içine:
NEXT_PUBLIC_MOCK_AUTH=true
NEXT_PUBLIC_DISABLE_MIDDLEWARE=trueMock kullanıcı:
- Email: herhangi bir email
- Password: herhangi bir şifre
-
config/site.ts→ proje adı ve URL -
config/nav.ts→ sidebar menüsü -
globals.css→ tema renkleri -
app/(admin)/dashboard/→ sayfa ekle/çıkar -
src/app/layout.tsx→ SEO metadata -
src/app/robots.ts→ robots.txt -
src/app/sitemap.ts→ sitemap.xml -
middleware.ts→ auth kuralları -
public/favicon/→ favicon dosyaları
src/
├── app/ # Next.js App Router
│ ├── (admin)/ # Admin layout grubu
│ │ └── dashboard/ # Dashboard sayfaları
│ ├── (auth)/ # Auth layout grubu
│ └── api/ # API routes
├── components/ # React bileşenleri
│ ├── ui/ # Shadcn/UI bileşenleri
│ ├── header/ # Header bileşenleri
│ └── sidebar/ # Sidebar bileşenleri
├── config/ # Konfigürasyon dosyaları
├── constants/ # Sabitler
├── hooks/ # Custom React hooks
├── lib/ # Utility fonksiyonlar
├── providers/ # Context providers
├── services/ # API servisleri
├── store/ # Zustand stores
└── types/ # TypeScript tipleri
docs/ARCHITECTURE.md— Mimari kararlar ve klasör yapısıdocs/AUTH_STRATEGY.md— Auth, session, cookie/token best practice rehberidocs/DEPLOYMENT.md— GitHub Actions ile GHCR + VPS deploymentdocs/COMPONENTS.md— Component kütüphanesi ve kullanım örnekleridocs/ADD_NEW_FEATURE.md— Yeni özellik eklemedocs/REACT_QUERY.md— React Query kullanımıdocs/STATE_MANAGEMENT.md— State yönetimidocs/FORM_TEMPLATES.md— Form şablonlarıdocs/ONBOARDING.md— Onboarding rehberidocs/E2E_TESTING.md— E2E test yazma
- Security headers (HSTS, CSP, X-Frame-Options, vb.)
- Middleware ile route koruması
- Token tabanlı auth
- Environment variable validation
- Input sanitization
- React Compiler aktif
- Image optimization (next/image)
- Font optimization (next/font)
- Code splitting
- Lazy loading
- React Query caching
MIT