Nova JournalPort
Akademik dergiler için çok kiracılı yayın altyapısı.



Canlı sistemin herkese açık sayfalarından alınmış ekran görüntüleri.
01 — Problem
Akademik dergiler ya paylaşılan ulusal platformlara ya da kurulumu ve bakımı ağır açık kaynak yazılımlara mahkûm. Kendi markası, kendi alan adı, kör hakemlik kuralları ve indeks kuruluşlarının beklediği metadata ile çalışan modern bir yayın altyapısı yok.
02 — Sistem
Her derginin kendi sitesine ve aynı adreste çalışan, role göre şekillenen bir yönetim masasına sahip olduğu çok kiracılı bir SaaS tasarladık. Dergi onaylandığında sistem ona ayrı bir veritabanı açar, migration'ları çalıştırır ve sahibini oluşturur. Başvuru, kör hakemlik, üretim, sayı yayını, DOI kuyruğu ve indeks dışa aktarımları tek bir akışta birleşir.
Makale durum makinesi
Makalenin her durumu modelde tanımlı; geçişler rol ve kapsamla korunur.
- 01Gönderildi
- 02Hakemde
- 03Revizyon
- 04Kabul
- 05Yayında
Ret → yazara karar mektubu
Nova JournalPort — dergi yönetimi
Gönderildi
Hakemde
Revizyon
Kabul
Yayında
03 — Mimari
İstek, Host başlığından çözümlenen dergiye yönlenir: alt alan adı ya da CNAME'i doğrulanmış özel alan adı. Ana katalog tek bir master veritabanında, her derginin verisi kendi veritabanında tutulur; e-posta ve DOI işleri RabbitMQ kuyruklarından ayrı worker'larla işlenir.
- L0Kullanıcılar
- Yazarlar
- Hakemler
- 13 editoryal rol
- Platform yönetimi
- L1Arayüzler
- novajournalport.com
- Platform yönetimi
- {dergi}.novajournalport.com
- Özel alan adları
- L2Uygulama
- Tenant çözümleyici
- Express API
- 5 worker
- L3Modüller
- Başvuru
- Kör hakemlik
- Üretim
- Sayılar
- DOI kuyruğu
- İçe / dışa aktarım
- Tema & CMS
- L4Veri
- MySQL master
- Dergi başına veritabanı
- RabbitMQ
- MinIO (S3)
- L5Dış servisler
- Crossref XML
- DOAJ
- PubMed
- JATS 1.3
- Google Scholar
- Resend
04 — Yetenekler
- 01
Dergi başına izolasyon
Onaylanan her dergiye ayrı MySQL veritabanı açılır; tenant tablolarında tenant_id yoktur. Başvuru, onay, kurulum ve sahip hesabı adımları otomatik ilerler.
- 02
Editoryal iş akışı
13 rol, çoklu rol ataması, bölüm editörü kapsamı; hakem davetleri, hakem önerisi, editör kararı, revizyon turları ve e-postayla giden karar mektupları.
- 03
Kör hakemlik, kodda
Hakemler yazar kimliğini ve orijinal dosya adlarını hiçbir zaman görmez; hakeme giden e-postalar kimlik sızıntısına karşı filtrelenir.
- 04
Sayı ve üretim
Cilt/sayı/yıl, erken görünüm, tam sayı PDF'i ve içindekiler; dil editörü, mizanpaj editörü ve düzelti okuyucu atamaları; PDF'in ilk sayfasından sunucuda üretilen kapak görseli.
- 05
Metadata ve indeksleme
Crossref 5.3.1 deposit XML, DOAJ, PubMed/MEDLINE, JATS 1.3, PhilPapers dışa aktarımları; her makalede Google Scholar meta etiketleri, schema.org, sitemap ve RSS.
- 06
Geçiş araçları
Crossref XML, JATS, DOAJ veya ISSN üzerinden Crossref API ile geçmiş sayıları içe alma; önizleme, tek transaction'da kayıt, SSRF korumalı PDF indirme ve geri alma.
- 07
Dergi siteleri
11 tema, blok tabanlı sayfalar, iki seviyeli menü, tarayıcı içi PDF okuyucu, 7 atıf stili, BibTeX/RIS, arama ve editoryal süre istatistikleri.
- 08
Özel alan adları
Dergi kendi alan adını tanımlar; sistem CNAME kaydını doğruladıktan sonra alan adını dergiye bağlar. CDN alan adı da ayrıca doğrulanabilir.
05 — Etki
- 01
Bir dergi, başvurudan yayındaki sitesine kadar operatör müdahalesi olmadan kurulabiliyor.
- 02
Kör hakemlik kuralı editörün dikkatine değil, sistemin kendisine emanet.
- 03
Geçmiş sayılar önizlemeyle içe alınıp tek hamlede geri alınabiliyor.
- 13
- editoryal rol
- 1:1
- dergi başına veritabanı
- 11
- dergi teması
- 7
- atıf stili
- 6
- indeks dışa aktarım formatı
- 304
- otomatik test dosyası
Teknoloji yığını
Arayüz
- Next.js 15
- React 19
- Tailwind
- pdf.js
Sunucu
- Node.js 20
- Express
- TypeScript 5.8
- Sequelize
- Umzug
Veri
- MySQL 8
- RabbitMQ 3.13
- MinIO (S3)
Doküman
- pdf.js
- @napi-rs/canvas
- fast-xml-parser
Altyapı
- Docker Swarm
- Portainer
- Nginx Proxy Manager
- Bitbucket Pipelines

