“Teknik bilgim var ancak proje fikrim yok” diyenlerden misiniz? Bu yazımızda sizlerle yazılım proje fikirleri paylaşacağız. 5 adet öneride bulunacağımız listeden kendinize birini seçmenizi ve bir an önce geliştirmeye başlamanızı tavsiye ediyoruz.
Yazılımcı ile proje ayrılmaz bir ikilidir. Facebook, zamanında Mark Zuckerberg’in geliştirdiği kişisel bir projesi iken tüm dünyayı kasıp kavuran bir şirket haline geldi. Burada dikkatimizi çeken nokta, Facebook’un kişisel bir proje olması. Kullandığımız, gördüğümüz çoğu uygulama ya da web sitesi zamanında sadece bir projeydi. Bazı projeler büyüyüp devleşir, bazıları da yarıda kalır. Hepsinin ortak noktası ise projeyi gerçekleştiren kişiye katkısıdır.
Facebook örneği ile herkes motive oldu ise, yazılım proje fikirleri listemize geçebiliriz.
İçindekiler
Kişisel Portfolyo Web Sitesi
Evet, bu tür başlıkların altında gördüğünüz ilk öneri kendinize özel bir web sitesi yapmanızdır. Kişisel bir web sitesini tasarlamak, oldukça eğlenceli bir projedir. Yaptıklarınızı içeren somut ve dinamik bir web sayfasına sahip olmak sizi daha da motive edecektir. Ayrıca internet üzerinde arandığınız zaman görünür bir hale geleceksiniz. Bu projeyi gerçekleştirirken;
HTML, CSS, Javascript üçlüsünü kullanacağınızı söyleyebiliriz . Bir web sitesinin görüntüsünü oluşturan HTML ve CSS’dir. Onunla birlikte dinamik hale getiren Javascript dilini öğrenmenin en zevkli yolu portfolyo oluşturmaktır.
Bunlara ek olarak projede kullanacağınız bir web framework‘ü yeni bir teknolojiyi öğrenmenize de yardımcı olacaktır.
Elon Musk / Web Scraper
Pekala, “Elon Musk” projesi nedir dediğinizi duyar gibiyim. Aslında bu projenin amacı bir web scraper yapmak. Web scraping kısaca web üzerinde istenilen/işimize yarayacak bilgiyi çekmek demektir. Buna bir örnek verecek olursak; online dizi/film izleyeceğiniz bir web siteniz olduğunu düşünelim. Bu dizi içeriklerinin bilgilerini Wikipedia, IMDb gibi yerlerden alarak kendi web sitenize yerleştirmek istiyorsunuz. Bunu gerçekleştirmenin yollarından biri web scraper’dır.
Peki Elon Musk neyin nesi? O sadece projeye ışık tutmak için bir öneri. Yaratacağınız web site Elon Musk‘ı içeren haber sayfalarını, tweetleri ve de güncel bilgilerini içermiş olacak. Kulağa zor mu geldi? O halde sizler için adımlara dönüştürelim.
- X kişisi hakkındaki statik bilgileri göstermek
- Dinamik bilgilerin gösterileceği bir alan oluşturmak
- Dinamik bilgilerin çekileceği bir platform seçmek (Twitter, Instagram ya da haber sayfaları gibi.)
- Dinamik bilgileri scraper ile çekerek web sayfası üzerinde göstermek
- Bir zamanlayıcı ile bu bilgilerin belli aralıklarda (bir saat gibi ya da anlık) güncellenmesini sağlamak.
Tic Tac Toe / Yapay Zeka
Küçükken bir taş üzerinde ya da defter kenarına çizdiğiniz oyunu hatırladınız mı? Şimdi o oyunu yenilmez hale getirmek ister misiniz? Bunu nasıl yapacağız diyorsanız Yapay Zeka devreye giriyor. Günümüzde adından sıkça söz ettiren ve geleceği yeniden yazmamızı sağlayacak olan yapay zekaya başlamak için güzel bir adım. Tic Tac Toe özünde kolay görünen ve birkaç adımda bitirebileceğiniz bir oyun.
Bu iki dünyayı birleştiren algoritma ise Minimax algoritması. Oyun teknolojisinde oldukça kullanan Minimax algoritmasından kısaca bahsedelim.
Minimax Algoritması
Minimax algoritması, bir oyunda oyuncunun yapabilme imkanı olan, her adımı bulmayı sağlamaktadır. İkili oyunlarda sıkça kullanılmaktadır.
Maximizer ve minimizer adını verdiğimiz iki oyuncu olsun. (maksimize eden ve minimize eden)
Maksimize eden oyuncu oyunda en yüksek skoru almaya çalışır. Öte yandan minimize eden ise oyunda en az puanı toplamaya çalışır. Bu şekilde geliştirilmiş bir tic-tac-toe ile rakibine karşı asla yenilmeyen bir oyuncu yaratabilirsiniz. Bu sayede Yapay Zeka dünyasına giriş yapmış ve sıkça kullanılan bir algoritmayı da tanımış olacaksınız.
Tic Tac Toe yerine Sudoku, Satranç gibi oyunları da tercih edebilirsiniz. Bu doğrultuda farklı algoritmalar öğrenebilirsiniz.
Twitter Duygu Analizi / Makine Öğrenmesi
Gün içinde sıkça tweet atmaktayız. Bunların bazıları mutlu bazıları da sinirli anları içeren tweet’ler. Bazen bir firma hakkında çok olumlu ya da olumsuz tweet’lere rastlamak mümkün. Peki bir tweet’in duygu analizini yapmak mümkün mü? Elimizde bir makine olsa ve onlarca tweeti versek; sonucunda bir oran alabilir miyiz? Elbette!
Sentiment Analysis (Duygu Analizi) ve Makine Öğrenmesiyle bu mümkün.
Makine Öğrenmesi günümüzde adını sıkça duyduğumuz bir alt bilgisayar bilimidir. Bu bilimdeki amaç veriyi analiz ederek gelecek yeni veri üzerinde bir yorum yapabilmektedir. Hava durumlarını ele alalım. Son 100 yıldaki hava değişimleri verisi elimizde. Bu veri ile tahminler, çıkarımlar yapabileceğimiz bir analiz gerçekleştiriyoruz. Bu sayede önümüzdeki günün hava durumu hakkında bir çıkarımda bulunabiliyoruz.
Twitter için bu veriyi Kaggle gibi sitelerden elde edebilirsiniz.
Gerçek Zamanlı Mesajlaşma Uygulaması
Her gün ve her anımızda kullandığımız mesajlaşma uygulamalarını biliyorsunuz. Mesajlaşma uygulamalarının nasıl çalıştığını öğrenmek için bu proje en güzel fırsat.
Node.js ve Socket.IO kütüphanesini kullanarak gerçekleştirebilirsiniz.
Socket.IO her platformda çalışmaya yönelik çift yönlü, gerçek zamanlı ve hızlı olan bir yapıdır.
Aynı projeyi Flask ve Python kütüphanesinden olan Socket.IO ile de gerçekleştirebilirsiniz.
“Yazılım proje fikirleri listenizde bu da olmalıydı!” dediğiniz projeler var mı? Yorum yaparak fikirlerinizi paylaşabilirsiniz.
Tic Tac Toe / Yapay Zeka projesi çok hoşuma gitti, kendimi geliştirmek için bir proje arıyordum çok teşekkür ederim 😀