readme.md 4.46 KB
Newer Older
Emincan Özcan's avatar
Emincan Özcan committed
1
# Pardus Kataliz!
Emincan Özcan's avatar
Emincan Özcan committed
2 3 4

## Nedir?

Emincan Özcan's avatar
Emincan Özcan committed
5
Pardus Kataliz, Pardus'a geçiş planlayan kullanıcılar düşünülerek tasarlanmış bir uygulama mağazasıdır. Kullanıcılara masaüstü uygulaması ve web sitesi olarak hizmet sunar. Halihazırda Pardus işletim sistemini kurmuş olan kullanıcılar Kataliz Pardus uygulaması ile daha zengin bir deneyim elde ederken, Pardus'u henüz kurmamış kullanıcılar Kataliz web sürümü üzerinden pek çok özelliğe erişim sağlayabilmekte ve Pardus'a geçiş yapmak için ön hazırlık gerçekleştirebilmektir. 
Emincan Özcan's avatar
Emincan Özcan committed
6 7

## İsmi Neden Kataliz?
Emincan Özcan's avatar
Emincan Özcan committed
8

Emincan Özcan's avatar
Emincan Özcan committed
9 10
Kataliz; katalizor adı verilen kimyasalların, bir kimyasal tepkime için ihtiyaç duyulan enerjiyi düşürmesi ve tepkime sürecini ciddi anlamda hızlandırması işlemine denir.

Emincan Özcan's avatar
Emincan Özcan committed
11
Geliştirilen uygulama mağazasının hedefi; kullanıcıların Pardus uygulama arayış - kurulum süreçlerine harcayacakları enerjiyi ve vakti azaltmak olduğundan, Kataliz ismi tercih edilmiştir. 
Emincan Özcan's avatar
Emincan Özcan committed
12 13

## Yazılım Detayları / Geliştirme
Emincan Özcan's avatar
Emincan Özcan committed
14

Emincan Özcan's avatar
Emincan Özcan committed
15
Pardus Kataliz projesi; bir adet Pardus uygulaması, bir adet web uygulaması ve istemcilerin veri kaynağı olarak kullandığı - yönetici paneli de barındıran bir arka uç uygulamasından bir oluşur.
Emincan Özcan's avatar
Emincan Özcan committed
16

Emincan Özcan's avatar
Emincan Özcan committed
17
Uygulamanın Pardus ve web versiyonları birlikte geliştirilmekte, aynı kod tabanını paylaşmaktadır.
Emincan Özcan's avatar
Emincan Özcan committed
18

Emincan Özcan's avatar
Emincan Özcan committed
19
### Arka Uç
Emincan Özcan's avatar
Emincan Özcan committed
20

Emincan Özcan's avatar
Emincan Özcan committed
21
Uygulamanın veri kaynağı olarak kullanılan bir API ve yönetim paneli sağlar. Laravel / Jetstream altyapısıyla hayata geçirilmiştir. Proje dizininde yer alan backend klasörü üzerinden erişilebilir.
Emincan Özcan's avatar
Emincan Özcan committed
22 23

Yönetim Panelinde Bulunan Temel özellikler;
Emincan Özcan's avatar
Emincan Özcan committed
24
* Pardus uygulaması ekleyebilme ve yönetebilme
Emincan Özcan's avatar
Emincan Özcan committed
25 26 27
  * Uygulama adı
  * Uygulama görseli
  * Uygulama kurulum betikleri
Emincan Özcan's avatar
Emincan Özcan committed
28
* Pardus harici uygulama ekleyebilme ve yönetebilme
Emincan Özcan's avatar
Emincan Özcan committed
29 30
  * Uygulama adı
  * Uygulama görseli
Emincan Özcan's avatar
Emincan Özcan committed
31 32
  * Uygulamanın Pardus ekosistemindeki alternatifleri
* Uygulama paketi ekleyebilme ve yönetebilme
Emincan Özcan's avatar
Emincan Özcan committed
33 34
  * Paket adı
  * Paket görseli
Emincan Özcan's avatar
Emincan Özcan committed
35
  * Pardus uygulamaları 
Emincan Özcan's avatar
Emincan Özcan committed
36

Emincan Özcan's avatar
Emincan Özcan committed
37
Arka uç için geliştirme ortamı olarak Laravel Sail altyapısından faydalanılmaktadır. Farklı ortamlar üzerinde de geliştirmeye devam edilebilir ancak Laravel Sail kullanımı önerilmektedir. Laravel Sail kullanımına dair detaylar [laravel.com/docs/8.x/sail](https://laravel.com/docs/8.x/sail) adresinden incelenebilir.
Emincan Özcan's avatar
Emincan Özcan committed
38

Emincan Özcan's avatar
Emincan Özcan committed
39 40 41 42
### Pardus ve Web Uygulaması

Kataliz'in Pardus uygulaması Electron - Vue alt yapısıyla hazırlanmaktadır. Pardus uygulaması ve Web uygulaması tek bir kod tabanı üzerinde geliştirilmektedir. Pardus uygulaması, Web uygulamasına ek olarak uygulama içerisinden kurulum desteği de sağlamaktadır. Pardus sürümünde yer alan bir takım özelliklerin devre dışı bırakılması veya Web'e uyarlanmasıyla Web sürümü ortaya çıkmaktadır.

Emincan Özcan's avatar
Emincan Özcan committed
43
İlgili uygulama(lar) proje içerisinde client klasöründe konumlandırılmıştır. 
Emincan Özcan's avatar
Emincan Özcan committed
44

Emincan Özcan's avatar
Emincan Özcan committed
45
Uygulamaları geliştirme ortamında çalıştırabilmek ya da paketleyebilmek için;
Emincan Özcan's avatar
Emincan Özcan committed
46 47 48 49 50 51 52 53 54
  * İlk olarak `npm install` ya da `yarn` komutlarıyla bağımlılıklar indirilmeli,
  * Geliştirme ortamını ayağa kaldırmak için;
    * Masaüstü versiyonu için `yarn electron:serve` komutu
    * Web versiyonu için `yarn serve` komutu
  * Uygulamayı paketlemek için;
    * Masaüstü versiyonu için `yarn electron:build` komutu
    * Web versiyonu için `yarn build` komutu
kullanılabilmektedir.

Emincan Özcan's avatar
Emincan Özcan committed
55 56 57
Masaüstü uygulaması için paketleme işlemi yapıldığında, appimage ve deb şeklinde iki farklı dosya formatıyla uygulama paketlenmekte ve kullanıcıya sunulmaktadır. 
* **Deb formatlı çıktı:** Pardus Paket Kurucu programıyla ya da alternatif metotlarla kurulum sağlamak için kullanılabilmektedir.
* **Appimage formatlı çıktı:** kurulum olmaksızın programı çalıştırmak için kullanılabilmektedir.
Emincan Özcan's avatar
Emincan Özcan committed
58 59

### Canlı Test
Emincan Özcan's avatar
Emincan Özcan committed
60

Emincan Özcan's avatar
Emincan Özcan committed
61
Geliştirilen uygulamaya doğrudan erişim için;
Emincan Özcan's avatar
Emincan Özcan committed
62

Emincan Özcan's avatar
Emincan Özcan committed
63 64 65
* Masaüstü uygulaması; github üzerinden çeşitli versiyonlarla birlikte indirilmeye sunulmaktadır. https://github.com/emincanozcan/kataliz/releases adresi üzerinden indirilebilir.
* Web uygulaması; [kataliz.emincanozcan.com](https://kataliz.emincanozcan.com) adresi üzerinden yayınlanmaktadır, bu adres üzerinden incelenebilir.
* Arka uç ve yönetici paneli; [kataliz-admin.emincanozcan.com](https://kataliz-admin.emincanozcan.com) adresi üzerinden yayınlanmaktadır. İlgili yönetim paneline yetkisiz erişim, bu arka uca bağlanan uygulamalarda istenmeyen etkiler yaratabileceğinden yönetici bilgileri paylaşılmamaktadır. Yönetici erişimi için `emincanozcann@gmail.com` üzerinden iletişime geçilebilir.