Kurum içi, web tabanlı ofis süiti: Yazı (kelime işlemci), Tablo (hesap tablosu), Sunum. Microsoft Office'e alışık personel için tanıdık ribbon arayüzü, Active Directory girişi, paylaşım ve sürüm geçmişi. Her belgeyi aynı anda tek kişi düzenler; diğerleri salt okunur canlı izler (kilit modeli).
- Kurulum ve işletme (BT): README-BT.md
Gereksinimler: Node.js 22+, pnpm 10+, Docker (Postgres için).
pnpm install
# Geliştirme veritabanı
docker run -d --name ofispro-dev-pg -p 5432:5432 \
-e POSTGRES_DB=ofispro -e POSTGRES_USER=ofispro -e POSTGRES_PASSWORD=ofispro \
postgres:17-alpine
# API (3001) + web (5173) birlikte
pnpm devTarayıcıda http://localhost:5173 açın. Geliştirmede kimlik doğrulama mock modundadır:
herhangi bir kullanıcı adı + demo123 parolasıyla girilir; admin ile başlayan
kullanıcı adları yönetici olur.
| Komut | Açıklama |
|---|---|
pnpm dev |
API + web'i izleme modunda başlatır |
pnpm build |
Tüm paketleri derler |
pnpm test |
Vitest testlerini çalıştırır |
pnpm --filter @ofispro/web test:e2e |
Playwright e2e testleri (çalışan yığın gerekir: docker compose up -d, mock auth) |
pnpm lint / pnpm format |
ESLint / Prettier |
- Faz 0–1 ✔ Giriş (LDAP/mock), dosya yöneticisi (klasör, arama, çöp kutusu), CİB-Ofis Yazı (ribbon, A4 görünümü, otomatik kayıt, .docx içe/dışa aktarma)
- Faz 2 ✔ CİB-Ofis Tablo (Univer: formüller, biçimlendirme, birleştirme; .xlsx içe/dışa aktarma), tüm belgelerde düzenleme kilidi + canlı izleme
- Faz 3 ✔ CİB-Ofis Sunum: slayt paneli, metin/şekil/resim öğeleri, sürükle-boyutlandır, şablonlar (Başlık / İçerik / Boş), geri al-yinele, tam ekran sunum modu, .pptx içe/dışa aktarma, düzenleme kilidi + canlı izleme
- Faz 4 ✔ Dosya paylaşımı (görüntüleme/düzenleme izni, "Benimle paylaşılanlar"), sürüm geçmişi (otomatik + elle sürüm, geri yükleme), PDF dışa aktarma (Chromium), A4 yazdırma, tanıtım turu, Türkçe imla denetimi (tarayıcı sözlüğü), yedekten geri yükleme betiği
- Faz 5 Ortak departman alanları, yönetim paneli, cila
Not: Tasarım gereği eşzamanlı ortak düzenleme yoktur. Tüm belgelerde "ilk açan düzenler, diğerleri canlı izler" kilit modeli uygulanır; kilit 30 sn kalp atışıyla korunur ve düzenleyici çıkınca sıradaki kullanıcı otomatik düzenlemeye geçer.
apps/web Ana kabuk uygulama (React + Vite + Tailwind, Türkçe arayüz)
apps/server API (Fastify + PostgreSQL + LDAP)
packages/shared Ortak tipler ve hata kodları
packages/ui Ortak ribbon ve arayüz bileşenleri
packages/editor-word CİB-Ofis Yazı (TipTap)
packages/editor-sheet CİB-Ofis Tablo (Univer)
packages/editor-slides CİB-Ofis Sunum (özel hafif editör)
deploy/ Dockerfile'lar, nginx, yedekleme
Tüm sırlar .env üzerinden verilir; örnekler için .env.example.
Sunucu, AUTH_PROVIDER=ldap iken LDAP ayarlarını zorunlu kılar ve üretimde
varsayılan COOKIE_SECRET ile açılmayı reddeder.