Bu proje, hukuk büroları için avukatların duruşma veya dosya takibi amacıyla ziyaret etmesi gereken adliyeler arasında en optimize edilmiş rotayı oluşturur.
Özellikler:
- Otomatik Rota Planlama: Gidilecek adliyeleri birbirine en yakın olacak şekilde sıralar.
- Zaman Yönetimi: Mesai saatleri (09:00 - 17:00) ve hafta sonu tatillerini dikkate alarak varış/çıkış saatlerini hesaplar.
- Veritabanı: Verileri bulut tabanlı Supabase (PostgreSQL) veritabanında saklar.
- Harita Servisi: Rota hesaplamaları için açık kaynaklı OSRM (Open Source Routing Machine) API kullanılır.
Bu projeyi çalıştırmak için bilgisayarınızda Docker ve Docker Compose kurulu olmalıdır.
-
Projeyi İndirin:
git clone <repo-url> cd <proje-klasoru>
-
Çevresel Değişkenleri Ayarlayın:
.envdosyasını oluşturun veya mevcut olanı düzenleyin (env-sample.txtdosyasını kopyalayabilirsiniz).- Yerel kullanım için:
DATABASE_URL=postgresql://postgres:postgres@db:5432/postgres(Docker Compose ile oluşturulan yerel veritabanına erişimi sağlar) - Bulut (Cloud) Supabase kullanımı için ilgili satırı yorumdan çıkarıp, Supabase bulut adresinizi yapıştırın.
- Yerel kullanım için:
-
Uygulamayı ve Yerel Veritabanını Başlatın: Terminalde şu komutu çalıştırın:
docker compose up -d --build
Bu komut, uygulamanızı ve yerel PostgreSQL (Supabase uyumlu) veritabanınızı Docker içerisinde başlatacaktır.
DATABASE_URLhedefinde bulunan veritabanınıza bağlanılacak ve ilk açılışta veritabanı tabloları otomatik olarak oluşturulacaktır. Yerel veritabanı dışarıya54322portundan açık durumdadır. -
Erişim:
- Web Arayüzü: http://localhost:5000
Uygulama, Supabase (PostgreSQL) veritabanı ile çalışmaktadır. Web arayüzü üzerinden dosya ekleme, silme, listeleme ve Excel işlemleri yapılabilir.
Web arayüzündeki "Yeni Dosya" butonunu kullanarak yeni dava dosyaları ekleyebilirsiniz. Şehir seçimi yapıldığında koordinatlar otomatik olarak atanır. Ayrıca "Excel Yükle" seçeneği ile toplu dosya ekleyebilirsiniz.
Eklenmiş dosyaları ilgili satırın sağ tarafındaki Düzenle ve Sil butonları ile kolayca yönetebilirsiniz. Modal üzerinden dosyayı güncellediğinizde liste de anında güncellenecektir.
Yüzlerce dosya arasında hızlıca arama yapabilir ve şehir filtresi ile sadece ilgilendiğiniz bölgesindeki dava dosyalarını listeleyebilirsiniz.
"Excel İndir" butonuna tıklayarak mevcut veritabanındaki tüm kayıtlarınızı Excel (xlsx) formatında bilgisayarınıza indirebilir, tıpkı şablonla aktardığınız gibi dışarı alabilirsiniz.
- Web Arayüzüne Gidin: http://localhost:5000/rota adresini açın.
- Dosyaları Seçin: Listeden gitmek istediğiniz dosyaları seçin.
- Başlangıç Bilgilerini Girin: Başlangıç şehri ve haftasını seçin.
- Rota Oluşturun: "Rota Hesapla" butonuna tıklayın.
- Sonuçları İnceleyin:
- Sistem, seçilen başlangıç noktasından en uygun rotayı çizer.
- Her adliye için tahmini varış ve işlem bitiş sürelerini gösterir.
- Başlangıç Noktası: Varsayılan olarak "Bursa Ofis" ayarlanmıştır.
- İşlem Süresi: Her dosya için varsayılan işlem süresi 45 dakika olarak ayarlanmıştır (
app.pyiçinde değiştirilebilir). - API: Rota hesaplaması için
router.project-osrm.orgkullanılmaktadır.
- Uygulamayı durdurmak için:
docker compose down
- Logları izlemek için:
docker compose logs -f