Özel modül
İhtiyacınız olan özellik, bir sonraki güncellemenin silemeyeceği bir modül olarak.
Çekirdek bir Blade dosyasını düzenlemek işe yarıyor — o dosyayı ezen sürüme kadar. Biz belgelenmiş genişletme noktaları üzerine kuruyoruz: observer, view composer, job, yetki. Teslim, kendi repo'nuzda özel bir modül; Türkçe ve İngilizce dizeler ilk commit'te yerinde.
Bu genelde iki şekilde başlıyor
Ya biri zaten özelleştirmiş ya da ihtiyacınız olan şey hiç yokmuş.
İkisi de yaygın. İkincisi Türkiye'de her yerden daha yaygın, çünkü boşluklar Türkiye biçiminde ve kimse doldurmamış.
İnsanların ilk denediği
- Fatura oluşturma şablonunu kopyalayıp düzenledik. Güncelleme üzerine yazdı.
- Giriş sayfasını değiştirdik. Sürüm yükseltmesinden sonra eski hali geri geldi.
- Biri doğrudan veritabanına bir kolon ekledi, şimdi oraya hiçbir şey yazılmıyor.
- Bir bileşeni modülden ezmeye çalıştık, beklediğimiz gibi olmadı.
- Cloud sürümünde yaptık, kaydetmiyor. Kendi sunucumuzda kaydediyordu.
- Müşteri kartında yalnızca kafamızda var olan bir alan var.
Gerçekten eksik olan
- Çek ve senet takibi. Hiçbir kategoride uygulaması yok.
- Müşteri başına gerçek bir cari ekstre; sadece kapanış tutarı değil.
- Faturada tevkifat; e-Belgenin istediği kodlarla birlikte.
- Barkod okutarak faturaya ürün eklemek.
- Alacakta taksit takibi; neyin ne zaman ödendiğiyle.
- Finansın gerçekten istediği o tek rapor; hiçbir rapor uygulaması üretmiyor.
Genişletme noktaları
Beş mekanizma. Kurduğumuz her şey bunları kullanıyor, başka bir şey kullanmıyor.
Bu bir felsefe değil, belgelenmiş API yüzeyi. Bunun dışında kurulan her şey, üzerine yazılmayı bekleyen bir dosya — ve o üzerine yazma her zaman sisteme ihtiyaç duyduğunuz bir günde geliyor.
Observer
View composer
Job
Laratrust yetkileri
Menü, arama, rapor
Bir modül nasıl kuruluyor
Ücretli bir keşif, sonra sabit fazlar, sonra size ait bir repo.
Keşif bir satış adımı değil, bir teslimat. Şartnameyi okuyup yapmamaya karar verirseniz şartname sizde kalıyor — ve bunu öğrenmek için harcanabilecek en ucuz parayı harcamış olursunuz.
- 01
Keşif ve yazılı şartname
Ücretli, süresi belirliKullanacak insanlarla oturuyoruz, kurulumunuzu okuyoruz ve modülün ne yaptığını, açıkça ne yapmadığını ve "bitti"nin ne anlama geldiğini yazıya döküyoruz. Sıfat değil, kabul kriteri.
- 02
İskelet ve ilk dilim
1. haftaModül iskeleti, migration'lar, model ve baştan sona tıklayabileceğiniz bir çalışan yol. Şeyin biçimine dair tartışma burada, değiştirmek hâlâ ucuzken yapılıyor.
- 03
Genişletme noktaları üzerine geliştirme
Boyuta göre 2–8 haftaObserver, composer, job, yetki. Her seferinde baştan yazılmak yerine sürümler boyunca üzerine eklenecek şekilde tasarlanmış migration'lar. Başka bir sistemin okuması ya da yazması gerekiyorsa REST uçları.
- 04
İlk günden Türkçe ve İngilizce
Sonraki faz değilİki dil dosyası birlikte, çünkü dizeleri sonradan geçirmek yazmaktan pahalı. Modül PDF üretiyorsa buna Türkçe karakterleri olan bir yazı tipinin gömülmesi de dahil — DomPDF bunu kendiliğinden yapmıyor ve bozuk Latin dışı çıktı tek seferlik bir kaza değil, uzun süredir devam eden bir hata sınıfı.
- 05
Repo'nuza teslim
Fatura kapanmadan önceModül kendi git repo'nuzda; kurulum ve yükseltme talimatları, sürüm geçmişi ve hangi çekirdek sürümüne karşı doğrulandığının yazılı notuyla. Pazar yeri onayı yok, gelir paylaşımı yok, kullanmaya devam etmek için bize yenileyeceğiniz hiçbir şey yok.
Devir paketinde ne var
- Modülün kaynak kodu, sizin hesabınızdaki repo'nuzda
- Takma adları, sağlayıcıları, ayarları, raporları ve widget'ları tanımlayan bir manifest
- Bir daha değiştirilemeyecek tek bir dosya değil, sürümler için yazılmış migration'lar
- Türkçe ve İngilizce dil dosyaları — kısmi değil, tam
- Bize değil sizin sistem yöneticinize göre yazılmış kurulum ve yükseltme talimatları
- Hangi çekirdek sürümüne karşı doğrulandığı, yazılı olarak
- Bağlı olduğu her çekirdek davranışının listesi — yani güncellemeden sonra kontrol edilecek liste
- Modülde varsa REST uçları ve yetkileri
Kapsam ve dürüstlük
Neyi kuruyoruz, neyi reddediyoruz ve kimsenin söylemediği süregelen maliyet.
Akaunting'in sürüm uyumluluğu politikası, kullanıcıların çekirdek sürümüyle birlikte çıkan modül sürümünü aldığını, dolayısıyla modül geliştiricilerinin geriye dönük uyumluluk tutmak zorunda olmadığını söylüyor. Bu Akaunting açısından makul ve sizin açısından tek bir şey demek: bakımı yapılmayan özel bir modülün üzerinde tarih var. Bunu bir modül almadan önce söylüyoruz ve uyumluluk anlaşmasını ilk güncelleme bir şeyi bozduktan sonra değil, geliştirmeyle birlikte teklif ediyoruz.
Bunu kuruyoruz
- Kendi repo'nuzda, yalnızca belgelenmiş genişletme noktaları üzerine özel modül
- Yeni varlıklar; kayıt işlemleriyle ve onları işe yarar kılan rapor ve widget'larla
- Türkiye'ye özgü mantık: tevkifat, cari ekstre, çek ve senet takibi, TDHP'ye uygun raporlama
- Modül olarak entegrasyonlar: yığında hazır duran ödeme kütüphanesi üzerine Türk ödeme kuruluşları, Türk e-ticaret ve pazar yeri senkronizasyonu, MT940 veya OFX banka ekstresi içe aktarma
- Belge ve fatura PDF çıktısı; Türkçe karakterlerin gerçekten çıkması için yazı tipi gömülerek
- Kendi sistemlerinizin çağıracağı REST uçları; yetkileri usulüne göre kaydedilerek
Bunu reddediyoruz
- Çekirdek dosyaları ya da çekirdek Blade şablonlarını düzenlemek. Gerçekten tek yol buysa, yine de yapmak yerine bu özelliğin güvenle kurulamayacağını söylüyoruz.
- Akaunting Cloud için özel modül. Özel kod pratikte kendi sunucunuza ait bir yetenek ve aksini varsaymak paranızı kaydetmeyecek bir şeye harcamak demek.
- Akaunting'in markasını sökmek. Lisans yasaklıyor ve meşru yol White Label uygulaması.
- Sürümler arasında yer değiştiren çekirdek davranışına bağlanan, bakım hattı olmayan bir modül. Teklif ediyoruz ve kabul etmezseniz ne olacağını açıkça söylüyoruz.
- Müşteri işine App Store başvurusunun dahil edilmesi. Bu ayrı bir iş; inceleme süreci ve takvimi bizim elimizde değil.
Nasıl fiyatlanıyor
Keşif, sonra fazlar ve isteyip istemeseniz de teklif ettiğimiz bir anlaşma.
İki varlık ve bir rapor, faturalara kancalanan, belge basan ve API açan bir şeyden bambaşka bir hayvan. Fazlar, hangisine sahip olduğunuzu kimse bütünü için bir sayı vermeden önce söylüyor.
Keşif
Durum tespitinden sonra teklif
Süresi belirli ve ücretli. Çıktı, kabul kriterli yazılı bir şartname ve geliştirme için sabit bir fiyat. Sizde kalıyor ve başkasına da götürebilirsiniz.
- 1–2 hafta
- Teklif değil, şartname
- Geliştirme bedelinden düşülüyor
Sabit fiyatlı fazlar
Durum tespitinden sonra teklif
Geliştirme, kendi kabul kriterleri olan fazlar hâlinde; böylece elinizde hiçbir zaman değerlendiremeyeceğiniz yarım bir şey olmuyor.
- Küçük — bir varlık, kayıt işlemleri, bir rapor: 2–3 hafta
- Orta — kesişen mantık ve özel PDF çıktısı: 4–8 hafta
- Daha büyük işler keşiften sonra fazlara bölünüyor
Uyumluluk anlaşması
Durum tespitinden sonra teklif
Sürüm başına: modülünüz yeni çekirdeğe karşı yeniden doğrulanıyor ve çekirdek altından kaydıysa düzeltiliyor. İsteğe bağlı ve neden var olduğunun dürüst cevabı yukarıda yazıyor.
- Her çekirdek sürümünde yeniden doğrulama
- Bakım anlaşmasına dahil
- Saat başına değil, modül başına fiyat
Bu paketlerin başlangıç fiyatları netleşiyor. Görüşmede sorun; aralık değil, net bir sayı veriyoruz.
Net cevaplar
Modül sipariş etmeden önceki sorular.
Dosyayı düzenlesek olmaz mı? Şu an çalışıyor.
Modül kimin?
Akaunting App Store'a girebilir mi?
Bir sonraki güncellemeden sağ çıkar mı?
Bunu Akaunting Cloud hesabımız için yapabilir misiniz?
Bize özellik değil rapor lazım. Bu bir modül mü?
Her iyi ürün bir sohbetle başlar.
Canınızı sıkan süreci anlatın. Doğru adres olup olmadığımızı dürüstçe söyleriz — değilsek, kimin olduğunu da.