🚀 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>
209 lines
6.4 KiB
Markdown
209 lines
6.4 KiB
Markdown
# 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 |