| name | backend_core |
| description | Node.js/TypeScript temel prensipler, proje yapısı ve TypeScript strict mode kuralları. |
🔧 Backend Core
Node.js/TypeScript temel prensipler ve proje yapısı.
📋 1. Kapsam
| Alan | Teknoloji |
|---|
| Runtime | Node.js 20+ (LTS) |
| Dil | TypeScript (Strict) |
| Framework | NestJS, Fastify, Express |
⚙️ 2. TypeScript Strict Mode
{
"compilerOptions": {
"strict": true,
"noImplicitAny": true,
"strictNullChecks": true,
"noImplicitReturns": true
}
}
any Yasak
function process(data: any) { }
function process(data: DataPayload) { }
function parse(input: unknown) { }
📁 3. Proje Yapısı (Feature-First)
src/
├── modules/
│ ├── auth/
│ │ ├── auth.controller.ts
│ │ ├── auth.service.ts
│ │ ├── auth.repository.ts
│ │ └── auth.dto.ts
│ └── users/
├── shared/
│ ├── middleware/
│ ├── guards/
│ └── utils/
├── infrastructure/
│ ├── database/
│ ├── cache/
│ └── logger/
├── config/
└── main.ts
🔐 4. Environment Variables
import { z } from 'zod';
const envSchema = z.object({
NODE_ENV: z.enum(['development', 'production', 'test']),
PORT: z.string().transform(Number),
DATABASE_URL: z.string().url(),
JWT_SECRET: z.string().min(32),
});
export const env = envSchema.parse(process.env);
🔗 İlgili Skill'ler
backend-api - REST/GraphQL tasarımı
backend-database - DB patterns, caching
backend-database - DB patterns, caching
Backend Core v1.2 - Verified
🔄 Workflow
Kaynak: Node.js Best Practices - Project Structure
Aşama 1: Foundation (Structure)
Aşama 2: Core Utilities
Aşama 3: Hardening
Kontrol Noktaları
| Aşama | Doğrulama |
|---|
| 1 | Yeni bir özellik eklerken 5 farklı klasöre dokunmak gerekiyor mu? (Gerekmemeli -> Component based) |
| 2 | .env dosyası commit edilmiş mi? (Edilmemeli) |
| 3 | Uygulama çökünce process otomatik restart oluyor mu? (PM2/Docker) |