name: haltakip description: | Hal/Manav işletmeleri için kapsamlı satış, stok ve cari yönetim sistemi. Bu skill şu durumlarda kullanılmalı: (1) Proje geliştirme - backend API, frontend, veritabanı işlemleri (2) Satış/Alış modülü geliştirme (3) Cari ve borç/alacak yönetimi (4) Plastik kasa takibi (5) Hal Kayıt Sistemi entegrasyonu ve künye işlemleri (6) PDF fatura/künye oluşturma (7) Stok ve ürün yönetimi (8) Raporlama ve kasa işlemleri (9) PWA ve çevrimdışı çalışma özellikleri Teknoloji: React + Node.js + PostgreSQL + PWA
HalTakip - Hal Yönetim Sistemi
Hal/Manav işletmeleri için tam kapsamlı ERP sistemi.
Teknoloji Stack
| Katman | Teknoloji |
|---|---|
| Frontend | React 18 + Vite + Tailwind CSS |
| PWA | Service Worker + IndexedDB |
| Backend | Node.js 20 + Express.js |
| Veritabanı | PostgreSQL 15 |
| PDFKit | |
| Yedekleme | Google Drive API + Sunucu |
| Koruma | Cloudflare (DNS + CDN) |
Mimari
Cloudflare (DNS + CDN + DDoS)
│
▼
┌─────────────────────────────────┐
│ SUNUCU │
├─────────────────────────────────┤
│ Frontend (React PWA) │
│ Backend (Node.js + Express) │
│ Database (PostgreSQL) │
│ Storage (PDF, Yedekler) │
└─────────────────────────────────┘
Modüller
1. Kullanıcı Yönetimi
- Giriş/çıkış sistemi (JWT)
- Rol tabanlı yetkilendirme: admin, kasiyer, depo
- İşlem logları
2. Cari Yönetimi
- Müşteri ve tedarikçi aynı tabloda (hem alış hem satış yapılabilir)
- Borç/alacak takibi
- İşlem geçmişi
- Plastik kasa bakiyesi
- Cari limiti
3. Ürün/Stok Yönetimi
- Ürün tanımlama (ad, birim, KDV)
- Stok giriş/çıkış
- Kritik stok uyarısı
- Fire/zayi kaydı
4. Satış Modülü
- Cari seçimi (opsiyonel)
- Sepet: ürün, miktar, birim fiyat, toplam
- Çoklu ödeme: nakit, kart, veresiye
- Plastik kasa verme
- PDF fatura çıktısı
5. Alış Modülü
- Tedarikçi seçimi
- Ürün girişi
- Ödeme kaydı
- Plastik kasa alma
- Hal künyesi bağlantısı
6. Hal Kayıt Sistemi
- Künye oluşturma/düzenleme
- Parti numarası takibi
- Menşei bilgisi
- PDF künye çıktısı
7. Kasa Yönetimi
- Günlük kasa açılış/kapanış
- Nakit/kart ayrımı
- Gider kaydı
- Z raporu
8. Raporlama
- Günlük/haftalık/aylık satış
- Cari bazlı alacak/borç
- Ürün bazlı satış
- Kasa raporu
Dosya Yapısı
hal-market/
├── frontend/
│ ├── src/
│ │ ├── components/
│ │ ├── pages/
│ │ ├── hooks/
│ │ ├── services/
│ │ ├── store/
│ │ └── utils/
│ ├── public/
│ └── package.json
├── backend/
│ ├── src/
│ │ ├── controllers/
│ │ ├── models/
│ │ ├── routes/
│ │ ├── middleware/
│ │ ├── services/
│ │ └── utils/
│ └── package.json
└── database/
└── migrations/
Referans Dosyaları
Detaylı bilgi için:
- Veritabanı şeması:
references/database-schema.md - API endpoint listesi:
references/api-endpoints.md - Frontend component listesi:
references/frontend-components.md - İş kuralları:
references/business-rules.md - PWA ve çevrimdışı:
references/pwa-offline.md
Geliştirme Sırası
- Veritabanı şeması ve migration'lar
- Backend API (auth → cari → ürün → satış → alış → kasa → rapor)
- Frontend temel yapı ve auth
- Cari modülü (frontend + backend)
- Ürün/stok modülü
- Satış modülü + PDF fatura
- Alış modülü + Hal künyesi
- Kasa ve raporlama
- PWA ve çevrimdışı sync
- Google Drive yedekleme
Önemli Kurallar
- Her API endpoint'i JWT ile korunacak
- Tüm para değerleri kuruş cinsinden (integer) saklanacak
- Tarihler UTC olarak saklanacak, frontend'de local'e çevrilecek
- Soft delete kullanılacak (deleted_at alanı)
- Her işlem loglanacak (işlem_loglari tablosu)
- Çevrimdışı işlemler IndexedDB'de saklanıp sync edilecek