449 lines
18 KiB
Plaintext
449 lines
18 KiB
Plaintext
yeni bir proje fikrim var. Bu projenin akisi hakkinda dusuncelerim var, ama teknolojiye karar veremedim. Projeyi anlatiyorum.
|
||
Bu proje postaci uygulamasi. Postaci telefonu ile bizim web sitemize giris yapar. kullanici adi ve passwordu ile giris yaptikdan sonra kendine ait dashboardu acilir.
|
||
|
||
Dashboard daki paneller = Yeni rota olustur, rotalarim, benim kutum, gecmis olacak.
|
||
|
||
Yeni rota olustur a tiklandiginda telefonun camerasina erisim izni istenecek. telefonun camerasiyla belge uzerindeki adres alinacak. kaydedilecek. kayittan sonra teyit edilecek. "adres (ornek sokak no 11 4552 derendingen) gibi. teyit sirasinda 2 buton olacak, devam, bitir.
|
||
|
||
Eger devam secenegi secilirse camera yeniden acilacak, yeni adresin oldugu belge taranacak, adres kaydedilecek. ve yeniden teyit etrani acilacak.
|
||
|
||
Eger bitir secenegi secilirse kaydedilen tum adresler listelenecek. ve uzerinde degisiklik yapilabilecek. Istenirse adres manuel olarak elle giris yapilarak duzenlenebilecek.
|
||
|
||
Kayit edilen adres listesinin altinda bir buton olacak, (rotayi optimize et). Bu secenek secildiginde kayit edilen tum adresler birbirine en yakin konum olacak sekilde siralanacak. Siralamadan sonra olusan yeni liste rotanin olusturuldugu tarih ile rotalarima kayit edilecek.
|
||
|
||
Eger dashboarddan Rotalarim secenegi secilirse optimize edilmis liste gosterilecek. Ve Suruse basla butonu olacak. Suruse basla secenegi secildiginde optimize edilmis adreslerin birinci sirasindaki adrese harita kordunasyonuna yonlendirme yapicalak. kullanici adrese ulasmasi icin harita uzerindeki konuma yonlendirilecek. Ayni zaman konum surekli takip edilecek. Eger konum ilk adrese ulasmissa yada kullanici web sayfasindan devam secenegine tiklarsa optimize edilmis listedeki ikinci konuma yonlendirilecek.
|
||
|
||
Bunlarin yaninda kullanici olarak belirlenen grupsefi de olmali. Kendine bagli olan kullanicinin olusturdugu adreslere ve konumuna erisebilmeli.
|
||
|
||
ve tabikide admin. Tum kullanicilari ve grupseflerini organize kontrol ve yardimi saglayabilmeli.
|
||
|
||
|
||
Bu projede kullanacağın teknoloji stack'ini belirlemek için önce ihtiyaçları belirleyelim:
|
||
Ana Gereksinimler:
|
||
|
||
Kullanıcı yönetimi (Postacı, Grup Şefi, Admin)
|
||
Kamera erişimi (Telefon kamerasıyla belge üzerindeki adresi taramak)
|
||
Adres işleme (OCR ile metin tanıma ve teyit mekanizması)
|
||
Rota optimizasyonu (Adresleri en kısa mesafeye göre sıralama)
|
||
Harita entegrasyonu (Konum takibi ve navigasyon yönlendirmesi)
|
||
Gerçek zamanlı takip (Postacı konumunu canlı olarak gösterme)
|
||
Yetkilendirme ve erişim seviyeleri (Admin, Grup Şefi, Postacı rollerine uygun erişim)
|
||
Mobil dostu arayüz (Postacıların web arayüzü üzerinden kolayca işlemleri yapabilmesi)
|
||
|
||
Teknoloji Seçimi
|
||
|
||
Projeni mobil dostu bir web uygulaması olarak geliştirmek mantıklı olur. Progressive Web App (PWA) ile çalışırsan, uygulamanın bir mobil uygulama gibi çalışmasını sağlayabilirsin.
|
||
Frontend (Kullanıcı Arayüzü)
|
||
|
||
React.js + Next.js: Hızlı, SEO dostu ve SSR desteği olan bir framework.
|
||
React Native (Eğer mobil app istiyorsan): Hem iOS hem de Android için native uygulama geliştirme.
|
||
Tailwind CSS veya Material UI: Modern ve hızlı tasarım bileşenleri.
|
||
|
||
Backend (İş Mantığı)
|
||
|
||
Node.js + Express.js (Hızlı ve REST API geliştirmek için uygun)
|
||
Django + FastAPI (Eğer Python tercih ediyorsan, OCR ve veri işleme için güçlü)
|
||
Firebase Authentication veya Keycloak (Kullanıcı yönetimi için)
|
||
PostgreSQL veya MongoDB (Veri saklama, adreslerin kaydı ve rota optimizasyonu için)
|
||
|
||
OCR ile Adres Okuma
|
||
|
||
Tesseract.js (Tarayıcı içinde OCR yapmak için)
|
||
Google Cloud Vision API veya AWS Textract (Daha güçlü ve hızlı OCR çözümü)
|
||
|
||
Rota Optimizasyonu
|
||
|
||
Google Maps API (Navigasyon ve mesafe hesaplama)
|
||
OpenRouteService API (Ücretsiz ve esnek alternatif)
|
||
GraphHopper veya OSRM (Açık kaynak yönlendirme çözümleri)
|
||
|
||
Konum Takibi & Navigasyon
|
||
|
||
Google Maps API veya Mapbox API (Postacının bulunduğu konumu canlı izleme)
|
||
Geolocation API (Tarayıcıdan konum verisi almak)
|
||
|
||
Gerçek Zamanlı İletişim
|
||
|
||
WebSockets veya Firebase Realtime Database (Grup Şefi'nin postacıları takip edebilmesi için)
|
||
MQTT (Mosquitto Broker) (Daha az bant genişliği kullanarak canlı konum takibi)
|
||
|
||
Hosting & Deployment
|
||
|
||
Linode, DigitalOcean, AWS veya Vercel (Backend & Web app barındırmak için)
|
||
Docker & Kubernetes (Eğer ölçeklenebilir bir sistem istiyorsan)
|
||
|
||
Proje Akışı
|
||
|
||
Giriş Ekranı → Kullanıcı (Postacı, Grup Şefi, Admin) giriş yapar.
|
||
Dashboard → Kullanıcının rolüne göre uygun paneller açılır.
|
||
Yeni Rota Oluştur
|
||
Kamera açılır ve belge taranır (OCR ile adres bilgisi çekilir).
|
||
Teyit ekranı gelir (Adresin doğru olup olmadığı sorulur).
|
||
Yeni belge taramak için Devam, işlemi bitirmek için Bitir butonu var.
|
||
Adresler kaydedilir ve manuel düzenlenebilir.
|
||
Rota Optimizasyonu
|
||
Kayıtlı adresler en kısa mesafeye göre sıralanır.
|
||
Optimize edilen rota "Rotalarım" sekmesine kaydedilir.
|
||
Rotalarım Ekranı
|
||
Optimize edilmiş liste gösterilir.
|
||
Sürüşe Başla butonuna basıldığında haritaya yönlendirilir.
|
||
Konum takibi başlar, her adres tamamlandığında otomatik olarak sonraki adres açılır.
|
||
Grup Şefi Paneli
|
||
Kendi ekibindeki postacıların rotalarını ve canlı konumlarını takip edebilir.
|
||
Admin Paneli
|
||
Tüm kullanıcıları yönetir, grupları oluşturur ve kontrol sağlar.
|
||
|
||
Alternatif Çözümler
|
||
|
||
Eğer sadece bir mobil uygulama istiyorsan React Native + Firebase kullanabilirsin.
|
||
Eğer web tabanlı olacaksa Next.js + Node.js öneririm.
|
||
Eğer konum takibi önemliyse, MQTT veya WebSockets ile daha verimli hale getirebilirsin.
|
||
|
||
|
||
1. Kullanıcı Yönetimi
|
||
|
||
Sistemde 3 farklı kullanıcı tipi olacak:
|
||
|
||
Postacı → Rota oluşturur, optimize eder, sürüş başlatır, haritaya yönlendirilir.
|
||
Grup Şefi → Kendisine bağlı postacıları ve rotalarını takip eder.
|
||
Admin → Sistemdeki tüm kullanıcıları ve grup yapılarını yönetir.
|
||
|
||
Kullanıcı Yetkilendirme
|
||
|
||
Kimlik Doğrulama:
|
||
Firebase Authentication (Eğer Google veya sosyal giriş istenirse)
|
||
Keycloak (Kurumsal kimlik doğrulama için)
|
||
Yetkilendirme Seviyeleri:
|
||
Postacı: Sadece kendi verilerine erişebilir.
|
||
Grup Şefi: Kendi ekibindeki postacıları yönetebilir.
|
||
Admin: Tüm sistem üzerinde kontrol sahibidir.
|
||
|
||
2. Dashboard ve Ana Akış
|
||
|
||
Dashboard'da 4 ana panel olacak:
|
||
|
||
Yeni Rota Oluştur
|
||
Rotalarım
|
||
Benim Kutum (Son teslimatlar, bildirimler vb.)
|
||
Geçmiş (Tamamlanan rotaların geçmiş kaydı)
|
||
|
||
3. Yeni Rota Oluştur Modülü
|
||
|
||
📌 Amaç: Postacı, belgelerden adres tarayarak yeni bir teslimat rotası oluşturur.
|
||
İşleyiş:
|
||
|
||
Kullanıcı "Yeni Rota Oluştur" butonuna tıklar.
|
||
Kamera erişimi izni istenir.
|
||
📸 Telefon kamerası açılır, belge taranır.
|
||
OCR ile adres (Örnek Sokak No: 11, 4552 Derendingen) çıkarılır.
|
||
Adres Teyit Ekranı açılır:
|
||
Doğru mu? (İki buton: Devam | Bitir)
|
||
Eğer "Devam" seçilirse:
|
||
Yeni belge taranır.
|
||
Adres tekrar çıkarılır ve teyit ekranı açılır.
|
||
Eğer "Bitir" seçilirse:
|
||
Kaydedilen adresler listelenir.
|
||
Kullanıcı manuel adres girişi yapabilir veya yanlış adresleri düzenleyebilir.
|
||
Liste tamamlandıktan sonra "Rotayı Optimize Et" butonuna basılır.
|
||
Adresler en kısa mesafe sırasına göre yeniden düzenlenir.
|
||
Yeni rota "Rotalarım" sekmesine kaydedilir.
|
||
|
||
Teknolojiler:
|
||
|
||
✅ Kamera ve OCR: Tesseract.js veya Google Cloud Vision
|
||
✅ Adres Saklama: PostgreSQL veya MongoDB
|
||
✅ Rota Optimizasyonu: Google Maps API veya OpenRouteService
|
||
4. Rotalarım Modülü
|
||
|
||
📌 Amaç: Postacı, oluşturduğu optimize edilmiş rotaları burada görür ve sürüş başlatabilir.
|
||
İşleyiş:
|
||
|
||
Kullanıcı "Rotalarım" sekmesini açar.
|
||
Kendi oluşturduğu rota listesi görünür.
|
||
Kullanıcı bir rotayı seçer ve "Sürüşe Başla" butonuna basar.
|
||
📍 Harita yönlendirmesi başlar:
|
||
Kullanıcı ilk adrese yönlendirilir.
|
||
Konum takip edilir (Google Maps veya OpenStreetMap üzerinden).
|
||
Kullanıcı adrese ulaştığında veya "Devam" butonuna bastığında sıradaki adrese yönlendirilir.
|
||
Tüm adresler tamamlandığında rota kapanır.
|
||
|
||
Teknolojiler:
|
||
|
||
✅ Harita Entegrasyonu: Google Maps API veya Mapbox
|
||
✅ Konum Takibi: Geolocation API + WebSockets
|
||
5. Konum Takip ve Grup Şefi Paneli
|
||
|
||
📌 Amaç: Grup Şefi, postacıların rotalarını ve canlı konumlarını takip eder.
|
||
İşleyiş:
|
||
|
||
Grup Şefi, kendi ekibindeki postacıları liste halinde görür.
|
||
Postacının anlık konumu harita üzerinde gösterilir.
|
||
Rotası hangi aşamada? (Kaçıncı adrese ulaşıldı, kalan adres sayısı vs.)
|
||
İlgili rotayı detaylı inceleme:
|
||
Tüm duraklar gösterilir.
|
||
"Canlı Konumunu İzle" seçeneği sunulur.
|
||
|
||
Teknolojiler:
|
||
|
||
✅ Canlı Konum: WebSockets veya Firebase Realtime Database
|
||
✅ Harita Görselleştirme: Google Maps API veya Leaflet.js
|
||
6. Admin Paneli
|
||
|
||
📌 Amaç: Admin, tüm sistemde kullanıcıları ve rotaları yönetebilir.
|
||
Özellikler:
|
||
|
||
Kullanıcı Yönetimi
|
||
Postacı ve Grup Şefi ekleme/çıkarma
|
||
Yetkilendirme ve grup atamaları
|
||
Sistem Yönetimi
|
||
Rotaların durumlarını takip etme
|
||
Sistem loglarını inceleme
|
||
İstatistikler ve Analiz
|
||
Postacıların teslim süreleri
|
||
Hangi rotaların daha verimli olduğu
|
||
Günlük teslimat verileri
|
||
|
||
Teknolojiler:
|
||
|
||
✅ Admin Paneli UI: React + Material UI
|
||
✅ Veri Saklama: PostgreSQL veya Firebase
|
||
✅ Kullanıcı Rolleri: Keycloak veya Firebase Auth
|
||
|
||
7. Kullanıcı Rolleri ve Erişim Seviyeleri
|
||
|
||
📌 Amaç: Her kullanıcının yetkisi dahilinde işlem yapmasını sağlamak.
|
||
Kullanıcı Tipi Yetkiler
|
||
Postacı Kendi rotasını oluşturur, optimize eder, sürüş başlatır.
|
||
Grup Şefi Kendi ekibindeki postacıları takip eder, adres ve konumlarını izleyebilir.
|
||
Admin Tüm sistem üzerinde yetkilidir, kullanıcıları yönetir.
|
||
8. Ek Özellikler
|
||
|
||
✅ Bildirimler: Postacı adres teslimatını bitirdiğinde Grup Şefi'ne bildirim gidebilir.
|
||
✅ Offline Mod: Eğer internet bağlantısı yoksa adresler yerel olarak kaydedilip sonra yüklenebilir.
|
||
✅ Raporlama: Teslim edilen adres sayıları, ortalama teslim süresi gibi veriler toplanabilir.
|
||
Sonuç: Teknoloji Stack Önerisi
|
||
Bölüm Teknoloji
|
||
Frontend React.js (Web) veya React Native (Mobil)
|
||
Backend Node.js + Express veya FastAPI (Python)
|
||
Veritabanı PostgreSQL veya Firebase Realtime DB
|
||
Kullanıcı Yönetimi Firebase Auth veya Keycloak
|
||
Harita API Google Maps API veya OpenStreetMap
|
||
Konum Takibi WebSockets + Geolocation API
|
||
Rota Optimizasyonu Google Maps veya OpenRouteService
|
||
|
||
|
||
Teknoloji Stack (Ücretsiz ve Self-Hosted Çözümler)
|
||
Bölüm Teknoloji Açıklama
|
||
Frontend React.js + Next.js Hızlı, SEO dostu, SSR destekli
|
||
Mobil Alternatif React Native Eğer ileride mobil uygulama istenirse
|
||
Backend FastAPI (Python) Hafif, hızlı ve async destekli API
|
||
Veritabanı PostgreSQL (Self-hosted) Ücretsiz ve Linode üzerinde barındırılabilir
|
||
Kimlik Doğrulama Keycloak (Self-hosted) Open-source kimlik doğrulama çözümü
|
||
OCR (Adres Okuma) Tesseract.js (Self-hosted) Ücretsiz ve açık kaynak OCR kütüphanesi
|
||
Harita & Navigasyon OpenStreetMap + OSRM Ücretsiz ve self-hosted yönlendirme API'si
|
||
Konum Takibi WebSockets + Geolocation API Ücretsiz, canlı konum güncellenmesi için
|
||
Rota Optimizasyonu GraphHopper (Self-hosted) Ücretsiz açık kaynak optimizasyon API'si
|
||
Bildirimler Firebase Cloud Messaging (Ücretsiz) Mobil ve web push bildirimleri için
|
||
Depolama MinIO (S3 Alternatifi) Self-hosted dosya saklama (eğer gerekirse)
|
||
Detaylı Akış
|
||
1. Kullanıcı Yönetimi
|
||
|
||
Kimlik doğrulama: Keycloak ile kullanıcı girişleri yönetilecek.
|
||
Roller: Postacı, Grup Şefi, Admin yetkileri olacak.
|
||
JWT Token Kullanımı: API güvenliği için.
|
||
|
||
2. Yeni Rota Oluştur (Adres Okuma ve Kaydetme)
|
||
|
||
Postacı kamera açar → Tesseract.js OCR ile belge üzerindeki adres okunur.
|
||
Teyit ekranı açılır → Adres doğru mu?
|
||
Devam edilirse → Yeni belge taranır ve adres listesine eklenir.
|
||
Bitir seçilirse → Kaydedilen adresler listelenir ve manuel düzenlenebilir.
|
||
"Rotayı Optimize Et" butonuna basıldığında → GraphHopper kullanılarak en iyi sıra oluşturulur.
|
||
|
||
3. Rotalarım (Optimizasyon Sonrası Gösterim)
|
||
|
||
Kullanıcı optimize edilmiş rotalarını burada görür.
|
||
Rotalardan birine tıklayarak "Sürüşe Başla" butonuna basar.
|
||
İlk adrese yönlendirme yapılır.
|
||
|
||
4. Harita ve Navigasyon (Ücretsiz Çözüm)
|
||
|
||
Google Maps API yerine OpenStreetMap ve OSRM kullanılacak.
|
||
Kullanıcının mevcut konumu Geolocation API ile alınır ve OSRM yönlendirme sağlar.
|
||
Harita üzerinde anlık olarak güncellenen konum gösterilir.
|
||
Kullanıcı adresi tamamladığında sıradaki konuma yönlendirilir.
|
||
|
||
5. Grup Şefi Paneli (Postacıları Takip Etme)
|
||
|
||
Harita üzerinde postacıların canlı konumu gösterilir.
|
||
Grup Şefi, hangi postacının hangi adreste olduğunu görebilir.
|
||
Rota değişikliği veya acil yönlendirme yapabilir.
|
||
|
||
6. Admin Paneli (Genel Yönetim)
|
||
|
||
Tüm postacılar ve grup şeflerini yönetir.
|
||
Hangi postacının hangi adresleri ziyaret ettiğini görebilir.
|
||
Sistemin genel loglarını inceleyebilir.
|
||
|
||
Self-Hosted Sistemleri Linode Üzerinde Çalıştırma
|
||
|
||
Veritabanı: PostgreSQL
|
||
Kimlik Doğrulama: Keycloak
|
||
OCR Servisi: Tesseract.js veya self-hosted Tesseract OCR
|
||
Rota Optimizasyonu: GraphHopper (Docker ile Linode üzerinde çalıştırılabilir)
|
||
Harita API & Navigasyon: OpenStreetMap + OSRM
|
||
Gerçek Zamanlı Konum Takibi: WebSockets
|
||
Backend API: FastAPI (Linode sunucusunda çalıştırılacak)
|
||
|
||
|
||
Postacı Uygulaması - Yol Haritası ve Bölümler
|
||
|
||
Bu yol haritası, projeyi modüllere ayırarak geliştirme sürecini daha sistematik hale getirecek. Her modül bağımsız olarak test edilebilir ve geliştirilebilir. 🚀
|
||
📌 Bölüm 1: Altyapı Kurulumu ve Temel Yapı
|
||
|
||
⏳ Süre: 1-2 Hafta
|
||
|
||
✅ 1.1 Linode Sunucu Kurulumu
|
||
|
||
Linode üzerinde yeni bir Ubuntu 22.04 LTS sunucusu oluştur.
|
||
SSH bağlantısını yapılandır ve güvenlik önlemlerini al.
|
||
Docker ve Docker Compose yükle (Self-hosted servisleri konteyner içinde çalıştırmak için).
|
||
PostgreSQL kurulumu (Kimlik doğrulama ve adres saklama için).
|
||
|
||
Keycloak kurulumu ve yapılandırması (JWT tabanlı kimlik doğrulama için).
|
||
|
||
✅ 1.2 Backend API Yapısı
|
||
|
||
FastAPI kurulumu ve temel yapı
|
||
Swagger UI entegrasyonu (API dökümantasyonu için)
|
||
|
||
PostgreSQL bağlantısını ayarla
|
||
|
||
✅ 1.3 Kimlik Doğrulama (User Management)
|
||
|
||
Keycloak ile kullanıcı yönetimi entegrasyonu
|
||
Postacı, Grup Şefi ve Admin rolleri oluştur
|
||
|
||
JWT token doğrulama mekanizmasını geliştir
|
||
|
||
📌 Bölüm 2: Kullanıcı Arayüzü ve Dashboard
|
||
|
||
⏳ Süre: 2-3 Hafta
|
||
|
||
✅ 2.1 React.js Frontend Kurulumu
|
||
|
||
Next.js proje kurulumu
|
||
Tailwind CSS veya Material UI ile tasarım oluştur
|
||
|
||
React Query veya SWR ile API çağrıları yönet
|
||
|
||
✅ 2.2 Kullanıcı Girişi & Yetkilendirme
|
||
|
||
Kullanıcı giriş ve kayıt ekranlarını oluştur
|
||
|
||
Yetkilendirme sonrası Dashboard’a yönlendirme ekle
|
||
|
||
✅ 2.3 Dashboard ve Paneller
|
||
|
||
Dashboard tasarımını yap
|
||
|
||
Yeni Rota Oluştur, Rotalarım, Benim Kutum, Geçmiş sekmelerini ekle
|
||
|
||
📌 Bölüm 3: Adres Tanıma ve Rota Optimizasyonu
|
||
|
||
⏳ Süre: 2-3 Hafta
|
||
|
||
✅ 3.1 Kamera & OCR ile Adres Okuma
|
||
|
||
Tarayıcı veya mobil kamera erişimi sağla
|
||
Tesseract.js veya OpenCV ile OCR entegrasyonu yap
|
||
|
||
OCR sonrası kullanıcıya adres doğrulama ekranı göster
|
||
|
||
✅ 3.2 Adres Yönetimi
|
||
|
||
Adresleri veritabanına kaydet
|
||
|
||
Manuel adres girişi ekle (OCR hataları için düzeltme opsiyonu)
|
||
|
||
✅ 3.3 Rota Optimizasyonu
|
||
|
||
GraphHopper veya OSRM kullanarak mesafe bazlı sıralama yap
|
||
|
||
Optimize edilen rotayı "Rotalarım" sekmesine kaydet
|
||
|
||
📌 Bölüm 4: Harita ve Konum Takibi
|
||
|
||
⏳ Süre: 3-4 Hafta
|
||
|
||
✅ 4.1 Harita Entegrasyonu
|
||
|
||
Google Maps yerine OpenStreetMap API kullan
|
||
React Leaflet.js ile harita gösterimi ekle
|
||
|
||
Haritada optimize edilen rotaları işaretle
|
||
|
||
✅ 4.2 Gerçek Zamanlı Konum Takibi
|
||
|
||
Postacıların konumlarını almak için Geolocation API kullan
|
||
WebSockets ile canlı konum verisini backend’e gönder
|
||
|
||
Grup Şefi panelinde postacıların hareketlerini harita üzerinden göster
|
||
|
||
✅ 4.3 Navigasyon ve Yönlendirme
|
||
|
||
Sürüşe Başla butonuna basıldığında ilk adrese yönlendir
|
||
|
||
Kullanıcı ilk adrese ulaştığında veya "Devam" seçtiğinde bir sonraki konuma yönlendir
|
||
|
||
📌 Bölüm 5: Grup Şefi ve Admin Paneli
|
||
|
||
⏳ Süre: 2-3 Hafta
|
||
|
||
✅ 5.1 Grup Şefi Paneli
|
||
|
||
Bağlı olduğu postacıları listele
|
||
Hangi postacı hangi adrese gidiyor, kaç adres kaldı gibi detayları göster
|
||
|
||
Harita üzerinde postacı konumlarını canlı göster
|
||
|
||
✅ 5.2 Admin Paneli
|
||
|
||
Sistemdeki tüm kullanıcıları listele
|
||
Yeni kullanıcı ekleme/çıkarma mekanizması
|
||
|
||
Hangi grup şefine hangi postacılar atanmış, bunları yönetebilme
|
||
|
||
📌 Bölüm 6: Son Testler ve Yayına Alma
|
||
|
||
⏳ Süre: 2-3 Hafta
|
||
|
||
✅ 6.1 Backend Testleri
|
||
|
||
API testleri için Postman koleksiyonu oluştur
|
||
|
||
Hataları ve eksik endpointleri tamamla
|
||
|
||
✅ 6.2 Frontend Testleri
|
||
|
||
Cypress veya Jest ile UI testleri yap
|
||
|
||
Mobil cihazlarda test et (PWA olarak çalışmalı)
|
||
|
||
✅ 6.3 Yayınlama ve Deployment
|
||
|
||
Linode’da backend için Nginx reverse proxy yapılandır
|
||
React/Next.js frontend’i Linode sunucusunda çalıştır
|
||
|
||
SSL sertifikaları ekle ve HTTPS ayarlarını yap
|
||
|
||
🎯 Genel Zaman Çizelgesi
|
||
Aşama Süre
|
||
1. Altyapı Kurulumu 1-2 Hafta
|
||
2. Kullanıcı Arayüzü & Dashboard 2-3 Hafta
|
||
3. Adres Tanıma & Rota Optimizasyonu 2-3 Hafta
|
||
4. Harita & Konum Takibi 3-4 Hafta
|
||
5. Grup Şefi & Admin Paneli 2-3 Hafta
|
||
6. Testler & Yayına Alma 2-3 Hafta
|
||
Toplam Tahmini Süre 12-15 Hafta (Yaklaşık 3-4 Ay)
|