# 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