Ana Sayfa

Eigen: Kişisel Google Workspace Alternatifi Geliştirme

1 dk okuma

Geçtiğimiz bahar, büyük teknoloji şirketlerinin gücü ve ABD'deki mevcut durum göz önüne alındığında, Avrupa merkezli bir Google Workspace alternatifi oluşturmanın ne kadar zor olacağı sorusu ortaya çıktı. Bu iddialı hedef ilk başta imkansız gibi görünse de, yazar ve ekibi iki aylık boş zamanlarında yaptıkları geliştirme çalışmaları sonucunda çalışan bir "proof of concept" (kavram kanıtı) ortaya koydu. "Eigen" adı, Hollandaca ve Almanca'da "kendi" anlamına gelerek projenin temel felsefesini mükemmel bir şekilde yansıtıyor. eigen.is adresinden denenebilen bu platform, e-posta (eigen|mail), dosya depolama ve paylaşım (eigen|drive), gerçek zamanlı işbirliğine dayalı metin düzenleme (eigen|docs), kişi yönetimi (eigen|contacts) ve Kanban panoları (eigen|stickies) gibi temel uygulamaları içeriyor. Tüm uygulamalar minimal olsa da, küçük bir ekosistem hissi verecek kadar işlevsel.

Projenin teknik altyapısı, modern ve standart kabul edilen açık kaynak kütüphaneler üzerine inşa edilmiş. Sunucu tarafında Bun runtime ve Elysia routing framework'ü kullanılırken, ön yüz (frontend) için Vite, React ve TypeScript tercih edilmiş. Veri çekme ve yönlendirme işlemleri TanStack Router ve TanStack Query ile sağlanırken, arayüz tasarımı Tailwind CSS ve shadcn/ui kullanılarak yapılmış. Geliştirici, normalde bağımlılıklardan kaçınmasına rağmen, hızlı prototipleme için NPM paketlerinden faydalanmayı seçmiş.

Eigen'ın en ilginç yanı, tesadüfen ortaya çıkan mimarisi. Her kullanıcıya kendi dizini atanmış; meta veriler ve yapılandırılmış veriler kullanıcı başına SQLite veritabanlarında saklanırken, asıl içerik dosyalar olarak depolanıyor. Bu yaklaşım, paylaşılan merkezi veritabanları yerine her kullanıcının verisinin tamamen izole olmasını sağlıyor. Bu izolasyon, veri güvenliğini artırıyor, yedeklemeyi basitleştiriyor ve sistemin kolayca ölçeklenmesine olanak tanıyor. Doküman paylaşımı ve gerçek zamanlı işbirliği gibi zorluklar ise, Yjs dokümanlarının aktifken sunucunun belleğinde tutulması ve WebSockets üzerinden senkronize edilmesiyle aşılmış, bu dokümanlar periyodik olarak diske yazılıyor.

İçgörü

Bu proje, büyük teknoloji şirketlerine bağımlılığı azaltma potansiyeli taşıyan, kullanıcı verisi izolasyonunu merkeze alan yenilikçi bir kişisel bulut ofis çözümü sunuyor.

Kaynak