Files
ytp-glm/README.md
sbilketay 4205a8d387 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>
2025-11-05 08:35:13 +03:00

209 lines
6.4 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
# 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