Blog Ai - Yapay Zeka Application

Bu makalede bir öğretmenimin isteği üzerine geliştirmeye başladığım uygulamadan bahsetmek istiyorum. Bu uygulamayı laravel php kütüphanesi ile geliştirdim. Ortalama 5 gün içerisinde aktif kullanılabilir bir yapıya getirdim. Canlı olarak şu adresten sonuçları görebilirsiniz. 

Peki burada gördüğünüz uygulamanın ne olduğunu anlamadıysan; Bu uygulama şudur;
  • Yabancı kaynaklara ait bloglardaki makaleleri tarayan,
  • Taradığı bloglardaki makalelerle ilgili bilgileri listeleyen,
  • Makale içeriğini ve başlığını Türkçeleştiren,
  • Bir anahtar kontrolü ile yayınlayan bir Rest Api’dir.
Siz sadece uygulamadan istekte bulunuyorsunuz. Oda size istediğiniz bilgileri saniyeler içinde dönderiyor. Sistem 2 ana bölümden oluşuyor.

1- Bilgileri toplama.
2- Bilgileri yayma.


Geliştirirken nelerden faydalandın ?
Bu uygulamayı Laravel framework altyapısıyla geliştirdim. Sistemde daha önceden belirtilen konumlardaki bloglara ait feed/yayın besleme verilerinde yer alan blog kaynaklarından faydalandım. Çeviri işlemini gerçekleştirmek için google-translate paketini kullandım. Son olarak yönetim paneli için laravel-voyagerı kullanıyorum.
Proje Raporu

1.Açıklama

         Yabancı blogları tarayıp makalelerle ilgili başlık, içerik, resim, yazar ve tarih bilgilerini alıp. Türkçeleştirip depolayan bir REST Api projesidir. Laravel ile geliştirilmiş. Blog Ai uygulamasıdır.

2. Hedefler

Genel Hedefler

Erişim Kolaylığı

         Verilere guest/misafir olarak erişim sağlayabilirsiniz. Tüm içeriği veya bir kısmını, belirli bir bloğa ait içeriklerin tamamına erişim sağlayabilirsiniz.

Kolay Kullanım

         Sistem size JSON formatına uygun şekilde sonuçları döndürmekte. Sürekli olarak yabancı kaynakları taramakta ve yeni makaleleri sizin için Türkçeleştirmektedir.

Geliştirilebilir Olması

         Proje yeni güncellemelere, olası yeniden düzenlenebilecek noktalara göre geliştirilmesi hedeflenmektedir.

Özel Hedefler

Laravel Tecrübesi

         Yeni öğrenmeye başladığım Php-Laravel Framework öğrenimlerimi uygulamam için yeni bir yol olacak. Bununla laravel üzerine olan deneyimimi arttırması.

Proje Sayısını Arttırmak

         Yeni bir projeye başlama isteği, yeni sorunları çözme hevesi ek olarak emek verdiğim yeni ve farklı bir projenin portföyüme dâhil olması.

Github ile Etkileşim

         Bu projeyi github üzerinden güncelleyerek geliştirmeye başladım. Bu sayede github konusunda bilgimi geliştirmeyi hedefledim.

İhtiyaç Analizi

         Bu bölümde projemizle ilgili ihtiyaç, araç ve gereçler hakkında bilgiler yer almaktadır.

Bilgisayar

         Proje geliştirmek için kullanacağım, Visual Studio Code, Github Desktop uygulamalarını destekleyen, Laravel Framework paketlerini sorunsuz çalıştıracak özelliklere sahip bir bilgisayar.

Sunucu ve Veri tabanı

         Proje geliştirildikten sonra beta testleri için web ortamında kontrolleri sağlayacak, proje tamamlandıktan sonra ise sunucu ve veri tabanı paylaşılacak.

4. Planlama

         Bu aşamada hedefler için gerekli planlamalarla ilgili bilgiler yer almaktadır.

Ön Planlama

         Proje taslağı bu aşamada hazırlanmaktadır. Projeyle ilgili genel hedefler baza alınarak, genel planlamalar kısa çözümler burada yer almaktadır.

Analiz

         Proje kaç aşamada tamamlanacak ve bu aşamalarda neler yer alacak burada planlanmaktadır.
         Proje üç aşamadan çalışacak.
  1. Verilerin çekilmesi
  2. Türkçeleştirme.
  3. Verilerin yayınlanması.

Veritabanı Tasarımı

         Mevcut yapı ve ihtiyaçlar göz önünde bulundurularak gerekli veri tabanı tasarımı yapılacak. Veri tabanı basit ve sade olması sağlanmaya çalışılacak.

Blogların Taranması

         Veritabanında kontrolleri sağlanan blogların taratılması ve güncel makalelerin verilerine erişilmesi sağlanacak. Bunun için makalelerin feed/beslemelerinde faydalanılacak. Makale adres listesi alınacak.

Taranan Bloglardaki Makalelerin Kaydedilmesi

         Taranan veriler uygun şekilde depolanacak ve bir sonraki aşamada Türkçeleştirilmeden önce kontrol edilmesi sağlanacak. Gerektiğinde formatlanan database üzerinden tekrardan çeviri yapılabilecek bir yapıda olması hedeflenecek.

Kayıtlı Makalelerin Türkçeleştirilmesi

         Kaydedilen makale ve başlıkların Türkçeleştirilmesi sağlanacak. Bu aşamada bir yardımcı paket kullanılacak. Doğru verilerin seçilmiş ve çevirilmiş olmasına dikkat edilecek.
Bu aşamaya kadar gelen kısımlar otomatik olarak çalışacak, Cron-Job üzerinden kontrol edilecek. Bu aşamada sonra ise isteklere göre çalışan bir uygulama yapısına bürünülecek.

Yayınlama Sisteminin Tasarlanması

         Basit bir api-key sistemi ile yayın yapılacak yayınlanan verilere birden fazla erişim şekli tanımlanacak. Blog yazıları, başlıkları, paylaşım tarihi, çeviri tarihi, blog yazısının ön resmi gibi bilgiler yayınlanacak.
 

Programın Sesinin Dinlenmesi

         Bu aşamada projenin otomatik olarak çalışan kısımlarının çalışma şekli ve bilgilerinin yansıtıldı bir Log/Kayıt Defteri tasarımı yapılacak. Böylelikle projenin sesini dinlenmiş olacak.

Hosting’e Taşınma ve Son Ayarlar

         Proje hedeflere uygun şekilde tamamlandıktan sonra kiralanacak veya kurulacak olan hosting üzerine taşınması ve bununla ilişkili tüm ayarların yapılmanı kapsamaktadır.

Hata Tespiti ve Güncellemeler

         Proje sunucuya yüklendikten sonra beta sürümü aktif edilecek ve oluşacak hatalar not alınması, aralıklarla güncellenmesi sağlanacaktır.
         Bu aşamaya kadar Proje Çatı Planlaması yer almaktadır. Ayrıntılı planlama o süreç içerisinde gözden geçirilecek. Her aşamada yalnızca o planlama kapsamında sorunları çözülümü sağlanacaktır.

5. Zamanlama Çizelgesi


         Proje geliştirme süreci ile ilişkili zaman çizelgesi burada yer almaktadır.

 Görevler

         Burada genel görevlerle ilgili zaman çizelgesi yer almaktadır.
 
Sıra Açıklama, Süre
1 Veritabanı Tasarımı, 1 saat.
2 Blogların Taranması, 1 gün.
3 Makalelerin Kaydedilmesi, 1 gün.
4 Türkçeleştirme, 3 saat.
5 Yayınlama Sisteminin Tasarlanması, 1 gün.
6 Programın Sesinin Dinlenmesi, 1 saat.
7 Projenin Hosting’e taşınması, son ayarlar, 2 saat.
8 Projenin test edilmesi, hataların giderilmesi ve güncellenmesi, X gün.
 

6. Geliştirme Süreci

         Yapılan tüm planlama ve görev-zaman hesaplarından sonra bu aşamada proje geliştirme süreci başlanmıştır.

7. Sonuç

         Kısa sürede ve hızlı şekilde tasarlanan bu yapıda yeni bir uygulama ve ilk kez bir Rest-Api çalışması yapmış oldum. Bu proje ile birlikte bir şeyler başarma duygusundan aldığım hazzı daha da iyi bir şekilde hissediyorum. Yalnız bir nokta kafamı karıştırıyor. Bu sistemde, belirli yabancı bloglarda gelen yeni postları nasıl kaydedeceğini yeni bir post atıldığında öğrenebileceğiz.
         Şu an aktif olarak şu adresten ulaşıp inceleyebilirsiniz.

        
https://alperc.com/blogai/ .

 

8.Proje Dökümanı

 
Tüm makaleler:
https://alperc.com/blogai/api/guest/all .
Tüm makaleler (Filtre):
 https://alperc.com/blogai/api/guest/all/5 .
Bir bloğa ait makaleler
https://alperc.com/blogai/api/guest/blog/copyblogger.com .
 
Makaleyi buradan beğenebilirsiniz.

Yorumlar (0)

Yorum Yap