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:
209
README.md
Normal file
209
README.md
Normal 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
|
||||
Reference in New Issue
Block a user