Vize acenteleri için operasyonel süreçleri tek panel üzerinden yöneten, dosya bazlı çalışan, rol tabanlı yetkilendirme sistemi olan tam kapsamlı bir CRM ve Dosya Takip Sistemi.
- Runtime: Node.js 18+
- Framework: Express.js
- Language: TypeScript
- Database: PostgreSQL
- ORM: Sequelize
- Authentication: JWT
- Queue: Bull/BullMQ
- File Processing: Multer
- Framework: React 18+
- Language: TypeScript
- Styling: Tailwind CSS
- State Management: React Query + Zustand
- Charts: Chart.js
- Data Tables: TanStack Table
- Routing: React Router v6
- Form Management: React Hook Form
- Detaylı dosya oluşturma ve takip
- Dosya durumu yönetimi (Beklemede, Randevu Alındı, Sonuçlandı, İptal)
- Ödeme durumu takibi
- Dosya ekleri (PDF, JPG, PNG, DOCX)
- Audit trail (dosya geçmişi)
- Admin: Tüm yetkiler
- Operasyon Personeli: Dosya oluşturma, atanmış dosyalar
- Dosya Sorumlusu: Sadece atanmış dosyalar
- Görüntüleyici: Sadece okuma
- Tüm Dosyalar
- Randevu Alınmış Dosyalar
- Randevusu Yaklaşan Dosyalar
- Ödeme Bekleyen Dosyalar
- Sonuçlanmış Dosyalar
- Vize Bitiş Tarihi Yaklaşan Dosyalar
- İptal Edilen Dosyalar
- Sistem içi bildirimler
- Randevu hatırlatmaları
- Vize bitiş tarihi uyarıları
- SMS/E-posta altyapısı
- Genel istatistikler
- Tarih bazlı grafikler
- Ülke bazlı dağılım
- Personel performans takibi
- Excel/CSV export
- Personel atama sistemi
- Toplu atama
- Atama geçmişi
- Bildirim entegrasyonu
- Node.js 18+
- PostgreSQL 14+
- npm veya yarn
- Projeyi klonlayın:
git clone <repository-url>
cd vize- Bağımlılıkları yükleyin:
npm install- PostgreSQL veritabanı oluşturun:
CREATE DATABASE vize_crm;- Backend environment dosyasını yapılandırın:
cd packages/backend
cp .env.example .env.env dosyasını düzenleyin:
NODE_ENV=development
PORT=3001
DATABASE_URL=postgresql://username:password@localhost:5432/vize_crm
JWT_SECRET=your-secret-key-here
JWT_EXPIRES_IN=7d
FRONTEND_URL=http://localhost:5173- Database migration'ları çalıştırın:
npm run migrate --workspace=backend- Seed verilerini yükleyin (opsiyonel):
npm run seed --workspace=backend- Geliştirme sunucularını başlatın:
npm run dev- Backend: http://localhost:3001
- Frontend: http://localhost:5173
Sistem ilk kurulumda aşağıdaki kullanıcıları oluşturur:
| E-posta | Şifre | Rol |
|---|---|---|
| admin@vize.com | Admin123! | Admin |
| operasyon@vize.com | Operasyon123! | Operasyon Personeli |
| sorumlu@vize.com | Sorumlu123! | Dosya Sorumlusu |
API endpoints için Postman collection: docs/postman-collection.json
POST /api/auth/login- Kullanıcı girişiPOST /api/auth/register- Yeni kullanıcı kaydı (Admin)POST /api/auth/logout- ÇıkışGET /api/auth/me- Mevcut kullanıcı bilgisi
GET /api/cases- Dosya listesi (filtreleme destekli)POST /api/cases- Yeni dosya oluşturGET /api/cases/:id- Dosya detayıPUT /api/cases/:id- Dosya güncelleDELETE /api/cases/:id- Dosya sil (soft delete)POST /api/cases/:id/assign- Dosya ataGET /api/cases/:id/history- Dosya geçmişi
GET /api/users- Kullanıcı listesi (Admin)POST /api/users- Yeni kullanıcı (Admin)PUT /api/users/:id- Kullanıcı güncelle (Admin)DELETE /api/users/:id- Kullanıcı sil (Admin)
GET /api/notifications- BildirimlerPUT /api/notifications/:id/read- Bildirimi okundu işaretlePUT /api/notifications/read-all- Tümünü okundu işaretle
GET /api/reports/dashboard- Dashboard istatistikleriGET /api/reports/export- Excel/CSV export
vize/
├── packages/
│ ├── backend/
│ │ ├── src/
│ │ │ ├── config/ # Konfigürasyon dosyaları
│ │ │ ├── controllers/ # Request handlers
│ │ │ ├── middlewares/ # Express middlewares
│ │ │ ├── models/ # Sequelize models
│ │ │ ├── routes/ # API routes
│ │ │ ├── services/ # Business logic
│ │ │ ├── utils/ # Yardımcı fonksiyonlar
│ │ │ ├── validators/ # Input validation
│ │ │ └── index.ts # Entry point
│ │ ├── migrations/ # Database migrations
│ │ ├── seeders/ # Seed data
│ │ └── uploads/ # Uploaded files
│ └── frontend/
│ ├── src/
│ │ ├── api/ # API client
│ │ ├── components/ # React components
│ │ ├── contexts/ # React contexts
│ │ ├── hooks/ # Custom hooks
│ │ ├── pages/ # Page components
│ │ ├── store/ # State management
│ │ ├── types/ # TypeScript types
│ │ ├── utils/ # Utilities
│ │ └── App.tsx # Main component
│ └── public/ # Static assets
├── docs/ # Dokümantasyon
├── package.json
└── README.md
- ESLint + Prettier kullanılmaktadır
- TypeScript strict mode aktif
- Clean Code ve SOLID prensipleri uygulanır
# Unit testler
npm run test --workspace=backend
# Integration testler
npm run test:integration --workspace=backend
# Frontend testler
npm run test --workspace=frontend# Production build
npm run build
# Backend build
npm run build:backend
# Frontend build
npm run build:frontendBackend .env:
NODE_ENV=production
PORT=3001
DATABASE_URL=postgresql://user:pass@host:5432/dbname
JWT_SECRET=strong-secret-key
FRONTEND_URL=https://yourdomain.com# Build images
docker-compose build
# Start services
docker-compose up -d- CSRF koruması
- XSS önleme
- SQL injection koruması (Sequelize ORM)
- Rate limiting
- JWT authentication
- Role-based access control (RBAC)
- Input validation
- File upload güvenliği
- Helmet.js güvenlik headers
ISC
Sorularınız için: support@vize.com