ProfitLens logo
ProfitLens API Portal OpenAPI spec yükleniyor

Freelancer ve ajanslar için kârlılık odaklı API platformu.

ProfitLens; müşterileri, projeleri, zaman kayıtlarını, giderleri, faturaları ve analitik snapshotları tek gateway altında toplar. Servisler birbirleriyle doğrudan konuşmaz; Kafka eventleriyle kârlılık ve risk skorları güncellenir.

15 dkAccess token süresi
7 günRefresh token süresi
5 dkDashboard ve kârlılık cache TTL
1000/saatPro ve team rate limit

Mimari Harita

Her servis bağımsız build edilir, kendi sorumluluk alanını yönetir ve dış dünyaya yalnızca Gateway üzerinden açılır. İç iletişim Kafka eventleriyle asenkron ilerler.

GatewayPublic API surface, auth validation, proxy, metrics, docs8000
Auth ServiceUser registration, login, refresh token storage, bcrypt, JWT8001
Project ServiceClients, projects, time entries, expenses, project events8002
Billing ServiceInvoices, sent/paid status, overdue reads, invoice events8003
Analytics ServiceProfit snapshots, client risk score, dashboard, reports8004

Kârlılık Mantığı

Para değerleri her zaman integer cent/kuruş olarak saklanır. Float kullanılmaz.

  • Gelir = ödenmiş fatura toplamı
  • Saat maliyeti = toplam saat × kullanıcının saatlik maliyeti
  • Net kâr = gelir - saat maliyeti - giderler
  • Kâr marjı = net kâr / gelir × 100

Risk Skoru

0-30 sağlıklı, 31-60 dikkatli, 61-100 zararlı müşteri. Skor; gecikmiş fatura, ödeme gecikmesi, şikayet/revizyon oranı, kâr marjı ve iş hacmiyle hesaplanır.

Event, Cache ve Monitoring

Bu bölüm canlı sistem davranışını hızlı anlamak için hazırlanmıştır.

Kafka Eventleri

  • time.entry.created → profitability recalculation
  • expense.added → profitability recalculation
  • invoice.paid → profit + risk update
  • invoice.overdue → risk increase
  • project.closed → final snapshot

Redis Cache Keys

  • profit:project:{project_id}
  • profit:client:{client_id}
  • risk:client:{client_id}
  • dashboard:user:{user_id}

Observability

  • /metrics tüm servislerde açık
  • http_requests_total
  • http_request_duration_seconds
  • kafka_events_published_total
  • kafka_events_consumed_total

Canlı Test Lab

Önce kullanıcı oluştur veya login ol. Token otomatik saklanır; sonra korumalı endpointleri aynı sayfadan deneyebilirsin.

1. Auth Token Al

Token durumu: bekleniyor.

2. Endpoint Test Et

Response burada görünecek.

Önerilen Test Senaryoları

Uçtan uca kârlılık testi için sıralı çalıştırılabilecek akışlar.

Happy Path

  • Register + login
  • Client oluştur
  • Project oluştur
  • Time entry + expense ekle
  • Invoice oluştur, paid işaretle
  • Profitability ve dashboard oku

Security Path

  • Token olmadan /dashboard çağır → 401
  • Yanlış token ile /clients çağır → 401
  • Başka user verisine erişim dene → 404/403 bekle
  • Refresh token ile access yenile

Monitoring Path

  • /metrics endpointlerini kontrol et
  • Prometheus target durumuna bak
  • Grafana dashboardlarını aç
  • Kafka event sayaçlarını izle

Endpoint Explorer

OpenAPI spec canlı okunur. Endpoint aç, cURL kopyala veya path'i Test Lab'e gönder.

OpenAPI yükleniyor...