Skip to content
 
 

Latest commit

 

History

5 Commits

Folders and files

NameName
Last commit message
Last commit date
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Vize Acente CRM & Dosya Takip Sistemi

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.

Teknoloji Stack

Backend

  • Runtime: Node.js 18+
  • Framework: Express.js
  • Language: TypeScript
  • Database: PostgreSQL
  • ORM: Sequelize
  • Authentication: JWT
  • Queue: Bull/BullMQ
  • File Processing: Multer

Frontend

  • 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

Özellikler

1. Dosya/Başvuru Yönetimi

  • 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)

2. Rol Tabanlı Yetkilendirme

  • Admin: Tüm yetkiler
  • Operasyon Personeli: Dosya oluşturma, atanmış dosyalar
  • Dosya Sorumlusu: Sadece atanmış dosyalar
  • Görüntüleyici: Sadece okuma

3. Sekmeli Liste ve Filtreleme

  • 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

4. Bildirim Sistemi

  • Sistem içi bildirimler
  • Randevu hatırlatmaları
  • Vize bitiş tarihi uyarıları
  • SMS/E-posta altyapısı

5. Dashboard ve Raporlama

  • Genel istatistikler
  • Tarih bazlı grafikler
  • Ülke bazlı dağılım
  • Personel performans takibi
  • Excel/CSV export

6. Dosya Atama

  • Personel atama sistemi
  • Toplu atama
  • Atama geçmişi
  • Bildirim entegrasyonu

Kurulum

Gereksinimler

  • Node.js 18+
  • PostgreSQL 14+
  • npm veya yarn

Adımlar

  1. Projeyi klonlayın:
git clone <repository-url>
cd vize
  1. Bağımlılıkları yükleyin:
npm install
  1. PostgreSQL veritabanı oluşturun:
CREATE DATABASE vize_crm;
  1. 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
  1. Database migration'ları çalıştırın:
npm run migrate --workspace=backend
  1. Seed verilerini yükleyin (opsiyonel):
npm run seed --workspace=backend
  1. Geliştirme sunucularını başlatın:
npm run dev

Varsayılan Kullanıcılar

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 Dokümantasyonu

API endpoints için Postman collection: docs/postman-collection.json

Temel Endpoints

Authentication

  • POST /api/auth/login - Kullanıcı girişi
  • POST /api/auth/register - Yeni kullanıcı kaydı (Admin)
  • POST /api/auth/logout - Çıkış
  • GET /api/auth/me - Mevcut kullanıcı bilgisi

Cases (Dosyalar)

  • GET /api/cases - Dosya listesi (filtreleme destekli)
  • POST /api/cases - Yeni dosya oluştur
  • GET /api/cases/:id - Dosya detayı
  • PUT /api/cases/:id - Dosya güncelle
  • DELETE /api/cases/:id - Dosya sil (soft delete)
  • POST /api/cases/:id/assign - Dosya ata
  • GET /api/cases/:id/history - Dosya geçmişi

Users

  • 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)

Notifications

  • GET /api/notifications - Bildirimler
  • PUT /api/notifications/:id/read - Bildirimi okundu işaretle
  • PUT /api/notifications/read-all - Tümünü okundu işaretle

Reports

  • GET /api/reports/dashboard - Dashboard istatistikleri
  • GET /api/reports/export - Excel/CSV export

Proje Yapısı

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

Geliştirme

Code Style

  • ESLint + Prettier kullanılmaktadır
  • TypeScript strict mode aktif
  • Clean Code ve SOLID prensipleri uygulanır

Testing

# Unit testler
npm run test --workspace=backend

# Integration testler
npm run test:integration --workspace=backend

# Frontend testler
npm run test --workspace=frontend

Build

# Production build
npm run build

# Backend build
npm run build:backend

# Frontend build
npm run build:frontend

Deployment

Production Environment Variables

Backend .env:

NODE_ENV=production
PORT=3001
DATABASE_URL=postgresql://user:pass@host:5432/dbname
JWT_SECRET=strong-secret-key
FRONTEND_URL=https://yourdomain.com

Docker Deployment

# Build images
docker-compose build

# Start services
docker-compose up -d

Güvenlik

  • 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

Lisans

ISC

Destek

Sorularınız için: support@vize.com

About

No description, website, or topics provided.

Resources

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages