RK
Projects
Business Data Platform · Search · Web + Mobile

FİRMA ATLASI

FlaskPostgreSQLFuzzy SearchFlutter Client

Firma Atlası, şirket verilerini bir dosya arşivinden çıkarıp aranabilir, temizlenebilir ve farklı istemciler tarafından kullanılabilir bir veri platformuna dönüştüren web ve mobil sistem. Backend; import, birleştirme, arama, filtreleme, harita ve yönetim işlemlerini aynı veri modeli üzerinde topluyor.

Şirket verisindeki asıl problem kayıt tutmak değil; farklı kaynaklardan gelen kirli ve tekrar eden kayıtları, hızlı aranabilir ve kullanılabilir bir sisteme çevirmek.

Firma Atlası’nın web/backend tarafı Flask ve PostgreSQL üzerinde çalışıyor. Excel’den veri aktarımı, mükerrer kayıtların birleştirilmesi, yakın eşleşmeli arama, gelişmiş filtreleme, dashboard, firma profilleri, harita entegrasyonu, admin işlemleri, import/operation history, Excel export ve REST API aynı backend etrafında birleştiriliyor.

Flutter mobil istemci bu veri katmanını telefona taşıyor: dashboard, arama/filtreleme, infinite scrolling, firma detayları, Google Maps, kalıcı favoriler, benzer firmalar ve bağlantı/hata durumları mobil deneyimin parçası. Mobil uygulama ayrı bir veri adası değil; aynı platformun başka bir istemcisi.

01 / Import

Excel veri sisteme alınır.

Import akışı yalnız satır kopyalamak yerine operasyon geçmişi ve veri temizleme adımlarıyla platforma giriş noktasıdır.

02 / Deduplication

Mükerrer firmalar birleştirilebilir.

Aynı şirketi farklı yazımlarla temsil eden kayıtlar için duplicate merge davranışı veri kalitesinin merkezindedir.

03 / Search

Yakın eşleşmeli arama yapılır.

PostgreSQL pg_trgm kullanımı, şirket adı gibi alanlarda yalnız tam eşleşmeye bağlı kalmayan fuzzy search sağlar.

04 / Filters + Map

Veri bağlam içinde daraltılır.

Gelişmiş filtreler ve harita görünümü, şirket listesini yalnız metin tablosu olmaktan çıkarır.

05 / Admin + History

Veri değişikliği iz bırakır.

Admin işlemleri, CSRF koruması ve import/operation history platformun yönetim tarafını destekler.

06 / Mobile

Aynı backend telefona taşınır.

Flutter client arama, detay, favori, harita ve benzer firma akışlarını REST/API veri katmanı üzerinden kullanır.

Bir Excel satırının kullanıcıya hızlı bir arama sonucu olarak dönmesi arasında veri temizleme, indeksleme ve API katmanları var.

01
ImportExcel verisi kontrollü import akışından sisteme girer.
02
NormalizeAlanlar platformun canonical veri modeline göre düzenlenir.
03
MergeMükerrer kayıtlar tespit edilip uygun birleştirme akışına alınır.
04
PersistTemizlenmiş kayıt PostgreSQL veri modelinde saklanır.
05
Search / Filterpg_trgm ve filtre koşulları kullanıcı sorgusunu daraltır.
06
ServeWeb ekranları, REST API ve Flutter istemci aynı veri kaynağından sonuç üretir.

Firma Atlası’nın kullanıcıya görünen arama ekranından daha önemli tarafı, verinin içeri girdikten sonra tekrar kullanılabilir ve sorgulanabilir kalması.

Import history

Veri alım işlemlerinin geçmişi, hangi yüklemenin ne zaman yapıldığını operasyon katmanında görünür tutar.

Fuzzy search

pg_trgm, yazım farkları veya eksik eşleşmelerde klasik “=” sorgusundan daha toleranslı arama davranışı sağlar.

Company profiles

Arama sonucu yalnız satır olarak kalmaz; firma detayları ve ilişkili bilgi tekil profile dönüşür.

Web + Mobile

Backend aynı veri modelini hem web yönetim/arama yüzeyine hem Flutter mobil istemciye servis eder.

Hastasına

İçeride ne oluyor?

Bu tip projede teknik ağırlık UI’da değil veri yaşam döngüsünde. Import edilen kayıtların normalize edilmesi, mükerrerlerin yönetilmesi, aramanın büyüyen veri üzerinde çalışması ve web/mobil istemcilerin aynı gerçekliğe bakması gerekiyor.

backend/flask

HTTP ve iş mantığı katmanı

Flask backend web ekranları, admin davranışları ve REST API için ortak uygulama sınırını oluşturuyor. Veri erişimi ve kullanıcı işlemleri aynı merkezi iş kuralları üzerinden yürütülüyor.

  • Flask application layer
  • REST API
  • Admin workflows
  • CSRF-protected operations
data/postgresql

PostgreSQL canonical veri kaynağı

Şirket kayıtları, filtreleme ve arama için relational veri katmanında tutuluyor. Platformun web ve mobil istemcileri aynı veri gerçekliğini kullanıyor.

  • Relational persistence
  • Company records
  • Query/filter surface
  • Shared web/mobile source
search/pg_trgm

Yakın eşleşmeli arama

Firma adlarında tam string eşleşmesi çoğu gerçek veride yeterli değil. pg_trgm, benzer metinleri skorlayabilen fuzzy search davranışını veritabanı katmanına taşıyor.

  • Trigram similarity
  • Partial/near matches
  • Database-side search
  • Search ranking surface
import/merge

Import ve duplicate merge

Excel importu ile gelen veri önce sisteme alınır; mükerrer kayıtlar ayrı bir kalite problemi olarak ele alınır ve birleştirme akışıyla yönetilir.

  • Excel import
  • Normalization
  • Duplicate detection/merge
  • Import history
mobile/flutter

Flutter istemci aynı platformun parçası

Mobil uygulama dashboard, search/filter, infinite scrolling, firma detayı, favoriler, benzer firmalar ve Google Maps akışlarını backend verisiyle çalıştırıyor.

  • Dashboard
  • Infinite scrolling
  • Persistent favorites
  • Google Maps / company detail
operations

Export, history ve hata durumları

Veri platformu yalnız okuma yapmıyor. Excel export, operasyon geçmişi ve istemci bağlantı/hata durumlarının ele alınması gerçek kullanım akışının parçası.

  • Excel export
  • Operation history
  • Connection/error states
  • Administrative visibility
Data platform chain — sadeleştirilmişImport → clean → search → serve
01 / INGEST
Excel import

Ham şirket kayıtları kontrollü yükleme akışından sisteme girer.

02 / CLEAN
Normalize + duplicate merge

Tutarsız veya tekrar eden kayıtlar platform veri modeline yaklaştırılır.

03 / STORE
PostgreSQL

Canonical kayıtlar arama ve filtrelemeye uygun şekilde saklanır.

04 / QUERY
pg_trgm + filters

Fuzzy search ve filtre kombinasyonları veri setini daraltır.

05 / API
Flask / REST

İş kuralları ve veri erişimi web ile mobil istemcilere servis edilir.

06 / CLIENTS
Web + Flutter

Dashboard, harita, detay, favori ve admin akışları aynı veri katmanına bağlanır.

BackendFlask + PostgreSQL platform temeli mevcut.

Import, search/filter, dashboard, profile, admin, history, export ve API davranışları aynı sistemde.

SearchFuzzy search veri katmanında.

pg_trgm ile tam eşleşmeye bağlı olmayan şirket araması destekleniyor.

MobileFlutter istemci platformun parçası.

Search/filter, infinite scroll, details, maps, favorites ve similar-company akışları mobil tarafta.

Data qualityImport ve duplicate merge merkezde.

Sistem sadece veri göstermek değil, veri temizliğini ve tekrar kayıt problemini yönetmek için de tasarlanmış.

Sonraki projeSnob