Initial commit: Yakıt Takip Modülü - Akaryakıt İstasyonu Yönetim Sistemi

🚀 Features Implemented:
- Full-stack SvelteKit application with Express backend
- Role-based authentication (Admin, Fuel Manager, Goods Manager)
- Real-time notifications with Socket.IO
- SQLite database with auto-initialization in /db directory
- Comprehensive user management and fuel slip tracking
- Responsive design with Turkish language support

🏗️ Architecture:
- Frontend: Svelte + SvelteKit + Vite
- Backend: Node.js + Express + Socket.IO
- Database: SQLite3 with automatic schema creation
- Security: bcrypt password hashing + session management
- Real-time: Socket.IO for instant notifications

📁 Project Structure:
- Organized documentation in /docs directory
- Database files in /db directory with auto-setup
- Clean separation of API routes and UI components
- Comprehensive documentation including processes, architecture, and user guides

📚 Documentation:
- PROJECT_PROCESSES.md: Comprehensive project documentation
- KNOWLEDGE_BASE.md: Quick reference and user guide
- TEST_GUIDE.md: Testing and quality assurance guide
- README_ADMIN_FEATURES.md: Admin functionality guide
- Full API documentation and system architecture

🔒 Security Features:
- Role-based authorization system
- Encrypted password storage with bcrypt
- Session-based authentication
- SQL injection protection with parameterized queries
- CORS configuration and input validation

🎯 Key Features:
- Fuel slip creation and approval workflow
- Real-time notifications between users
- PDF generation for fuel slips
- User and vehicle management
- Comprehensive audit logging

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude <noreply@anthropic.com>
This commit is contained in:
2025-11-05 08:35:13 +03:00
commit 4205a8d387
31 changed files with 11678 additions and 0 deletions

209
README.md Normal file
View File

@@ -0,0 +1,209 @@
# Yakıt Takip Modülü
Akaryakıt istasyonu için geliştirilmiş modern ve kullanıcı dostu yönetim sistemi.
## 🚀 Özellikler
- **Kullanıcı Rolleri**: Admin, Yakıt Sorumlusu, Mal Sorumlusu
- **Modern Arayüz**: Svelte tabanlı, responsive tasarım
- **Güvenli Oturum Yönetimi**: Şifrelenmiş veri saklama
- **Socket.IO**: Gerçek zamanlı iletişim altyapısı
- **SQLite**: Hafif ve verimli veritabanı
## 📋 Kullanıcı Rollereri
### Admin (Sistem Yöneticisi)
- **Kullanıcı Adı**: `admin`
- **Şifre**: `admin123`
- **Yetkileri**: Tüm verilere erişim, kullanıcı yönetimi
### Yakıt Sorumlusu
- **Kullanıcı Adı**: `fuel`
- **Şifre**: `fuel123`
- **Yetkileri**: Motorin ve benzin yakıtı verme (LT cinsinden)
### Mal Sorumlusu
- **Kullanıcı Adı**: `goods`
- **Şifre**: `goods123`
- **Yetkileri**: Araç yakıtlarını takip etme, onay/red işlemleri
## 🛠️ Kurulum
### Gereksinimler
- Node.js 18+
- npm veya yarn
### Kurulum Adımları
1. **Projeyi klonlayın veya indirin**
```bash
cd ytp
```
2. **Bağımlılıkları yükleyin**
```bash
npm install
```
3. **Geliştirme sunucusunu başlatın**
```bash
npm run dev
```
4. **Tarayıcıda açın**
- Frontend: http://localhost:5173
- Backend API: http://localhost:3000
## 🎨 Tasarım Özellikleri
- **Renk Şeması**:
- Ana Renk: #6CA5E3 (Butonlar)
- Pasif Renk: #F2F3F7 (Pasif butonlar)
- Arka Plan: #FFFFFF
- Kart Çerçevesi: #F7F7F7
- **Responsive Destek**:
- 1080p (1920x1080) monitörler
- 720p (1280x720) monitörler
- 21" ve 24" monitör uyumluluğu
- **Dil Desteği**: Tamamen Türkçe
## 📁 Proje Yapısı
```
ytp/
├── src/
│ ├── routes/
│ │ ├── +page.svelte # Ana login sayfası
│ │ ├── +layout.svelte # Ana layout
│ │ └── dashboard/
│ │ └── +page.svelte # Karşılama ekranı
│ ├── lib/ # Svelte kitaplıkları
│ ├── components/ # Bileşenler
│ ├── app.css # Global stiller
│ ├── app.html # Ana HTML şablonu
│ └── server.js # Node.js backend
├── db/ # Veritabanı dosyaları
│ └── yakit_takip.db # SQLite veritabanı (otomatik oluşturulur)
├── docs/ # Dokümantasyon dosyaları
│ ├── PROJECT_PROCESSES.md # Proje süreçleri ve iş akışları
│ ├── KNOWLEDGE_BASE.md # Bilgi bankası ve hızlı referans
│ ├── TEST_GUIDE.md # Test ve kalite rehberi
│ └── README_ADMIN_FEATURES.md # Admin özellikleri
├── static/ # Statik dosyalar
├── package.json # Proje bağımlılıkları
├── svelte.config.js # Svelte konfigürasyonu
├── vite.config.js # Vite konfigürasyonu
└── README.md # Proje dokümantasyonu
```
### 🗄️ Veritabanı Yapısı
- **Konum**: `/db/yakit_takip.db` (otomatik oluşturulur)
- **Otomatik Kurulum**: Proje ilk çalıştırıldığında veritabanı ve tablolar otomatik oluşturulur
- **Örnek Veriler**: Sistem kullanıcıları (admin, fuel, goods) otomatik olarak eklenir
- **Yedekleme**: Veritabanı dosyası `.gitignore`'da olduğu için versiyon kontrolüne dahil değildir
## 🔧 Teknolojiler
- **Frontend**: Svelte + SvelteKit
- **Backend**: Node.js + Express
- **Veritabanı**: SQLite3
- **Gerçek Zamanlı**: Socket.IO
- **Şifreleme**: bcrypt
- **Styling**: Özel CSS (Tailwind benzeri)
## 📱 Ekran Görüntüleri
### Login Ekranı
- Modern ve minimalist tasarım
- Test kullanıcı bilgileri
- Şifreli giriş sistemi
### Karşılama Ekranları (Rol Bazlı)
- Admin: Tüm sistem bilgileri
- Yakıt Sorumlusu: Yakıt işlem bilgileri
- Mal Sorumlusu: Mal takip bilgileri
## 📖 Detaylı Dokümantasyon
Tüm dokümantasyon dosyaları `/docs/` klasöründe bulunmaktadır:
- **📋 Dokümantasyon Dizini**: [`docs/README.md`](./docs/README.md) - Tüm dokümanların indeksi
### 📚 Dokümantasyon Dosyaları
- **[PROJECT_PROCESSES.md](./docs/PROJECT_PROCESSES.md)** - Kapsamlı proje süreçleri ve iş akışları
- Proje süreçleri, sistem mimarisi, kullanıcı rolleri
- İş akışları, teknoloji stack, API dokümantasyonu
- Veritabanı şeması, güvenlik, sorun giderme
- **[KNOWLEDGE_BASE.md](./docs/KNOWLEDGE_BASE.md)** - Bilgi bankası ve hızlı referans
- Sistem mimisi, kullanıcı rolleri ve yetkileri
- İş akışları, first use senaryoları
- Hızlı başlangıç rehberi
- **[TEST_GUIDE.md](./docs/TEST_GUIDE.md)** - Test ve kalite rehberi
- Test stratejileri, validasyon senaryoları
- Kullanıcı acceptance testleri
- Performance ve security testleri
- **[README_ADMIN_FEATURES.md](./docs/README_ADMIN_FEATURES.md)** - Admin özellikleri
- Sistem yönetimi fonksiyonları
- Kullanıcı yönetimi, yetkilendirme
- Admin panel özellikleri
### 🔍 Ana Başlıklar
- **Proje Süreçleri**: Geliştirme, deployment ve iş süreçleri
- **Sistem Mimarisi**: Teknik mimari ve katman yapısı
- **İş Akışları**: Detaylı kullanıcı iş akışları ve süreçler
- **Kullanıcı Rolleri**: Rol bazlı yetkilendirme ve sorumluluklar
- **Teknoloji Stack**: Kullanılan teknolojiler ve optimizasyon stratejileri
- **API Dokümantasyonu**: Tüm API endpoint'leri ve Socket.IO olayları
- **Veritabanı Şeması**: Tablo yapıları ve ilişkiler
- **Güvenlik**: Authentication, authorization ve güvenlik önlemleri
- **Sorun Giderme**: Common issues ve troubleshooting rehberi
## 🔒 Güvenlik
- Şifreler bcrypt ile şifrelenir
- Oturum yönetimi express-session ile yapılır
- Rol bazlı yetkilendirme sistemi
- Veritabanı güvenliği
## 🌐 API Endpoints
- `POST /api/login` - Kullanıcı girişi
- `POST /api/logout` - Çıkış yapma
- `GET /api/user` - Mevcut kullanıcı bilgisi
- `GET /api/users` - Tüm kullanıcılar (sadece admin)
## 🚀 Geliştirme
### Sunucuyu Başlatma
```bash
# Geliştirme modu
npm run dev
# Sadece backend
npm run server
# Sadece frontend
npm run client
```
### Build
```bash
# Prodüksiyon build'i
npm run build
# Preview
npm run preview
```
## 📞 İletişim
Proje hakkında sorularınız için lütfen iletişime geçin.
---
**Yakıt Takip Modülü** - Modern Akaryakıt İstasyonu Yönetim Sistemi