Anasayfa / Teknoloji / Vikunja Nedir? Kurulumu ve Python ile SMS Entegrasyonu

Vikunja Nedir? Kurulumu ve Python ile SMS Entegrasyonu

Görev ve proje yönetimi için genellikle Trello veya Asana gibi bulut tabanlı araçlar tercih edilir. Ancak verilerini kendi sunucusunda tutmak isteyenler için açık kaynaklı alternatifler mevcuttur.

Bu yazıda Vikunja’nın Ubuntu 22.04 üzerine kurulumu ve Python ile geliştirilen SMS entegrasyonu ele alınacaktır.


Vikunja Nedir?

Vikunja, self-hosted çalışan açık kaynaklı bir görev yönetim platformudur. Go diliyle geliştirilmiştir.

Liste, Kanban ve Gantt görünümlerini destekler. Görev atama, son tarih, öncelik ve etiket gibi temel özellikler mevcuttur.

REST API desteği sayesinde dış sistemlerle entegrasyon kolaylıkla sağlanabilir.


Neden Vikunja?

  • Tamamen ücretsiz ve açık kaynaklıdır
  • Veriler kendi sunucunuzda kalır
  • REST API ile kolayca entegre edilebilir
  • Kurumsal araçlara bağımlılığı ortadan kaldırır

Kurulum Ortamı

Bu kurulum aşağıdaki bileşenlerle gerçekleştirilmiştir:

  • Ubuntu 22.04 LTS
  • Vikunja 1.0.0 (.deb paketi ile)
  • MySQL 8.0
  • Nginx (reverse proxy)

Kurulum Özeti

MySQL üzerinde Vikunja için bir veritabanı ve kullanıcı oluşturulur.

Vikunja’nın resmi .deb paketi indirilerek dpkg ile kurulur.

/etc/vikunja/config.yml dosyasında veritabanı bağlantı bilgileri ve JWT secret tanımlanır.

Nginx, gelen istekleri Vikunja’nın çalıştığı porta yönlendirmek üzere reverse proxy olarak yapılandırılır.

Vikunja servisi systemd ile başlatılır ve sistem açılışında otomatik çalışacak şekilde ayarlanır.


Python ile SMS Entegrasyonu

Vikunja’nın REST API’si kullanılarak bir Python ara katman servisi geliştirilmiştir.

Bu servis belirli aralıklarla Vikunja’daki görevleri kontrol eder. Son tarihi yaklaşan görevler tespit edildiğinde SMS gateway üzerinden ilgili kullanıcıya bildirim gönderir.

Çalışma Mantığı

Vikunja API → Python Servisi → SMS Gateway → Kullanıcı

Servis schedule kütüphanesi ile periyodik olarak çalışır. Aynı görev için birden fazla bildirim gönderilmemesi amacıyla gönderim takibi yapılır.

Geliştirilen Python betiği systemd servisi olarak tanımlanmıştır. Böylece sunucu yeniden başlasa dahi servis otomatik olarak devreye girer.


Sonuç

Vikunja, lisans maliyeti olmadan kurumsal ihtiyaçlara yanıt verebilen bir görev yönetim platformudur. REST API desteği sayesinde mevcut altyapıya entegre edilmesi oldukça kolaydır.

Python ile yazılan ara katman servis, Vikunja’yı SMS bildirimiyle zenginleştirerek görev takibini daha etkin hale getirmiştir.


Kaynaklar / Faydalı Linkler

  • https://vikunja.io/
  • https://vikunja.io/docs/
  • https://vikunja.io/api/

Etiketlendi:

Cevap bırakın

E-posta adresiniz yayınlanmayacak. Gerekli alanlar * ile işaretlenmişlerdir