PORTFOLYO ALPAY ERKUN
BEN Ben, Alpay Erkun. 2016 yılında, Bilişim Teknolojileri bölümünde öğrenim gördüğüm Antalya Mesleki ve Teknik Anadolu Lisesi'nden okul birincisi olarak mezun oldum. 2020 yılının Temmuz ayında ise Pamukkale Üniversitesi, Bilgisayar Mühendisliği bölümünden bölüm ikincisi olarak mezun oldum. Kodlamayı, program geliştirmeyi çok sevdiğim için kod yazmak bir iş değil de bir hobi gibi geliyor. Bilgisayarla çocukluktan beri işli dışlı olduğum için yeni yazılımlar öğrenmekte zorlanmıyorum ve yeni şeyler öğrenmek için heyecan duyuyorum.
Bildiğim Programlama Dilleri ve Bilgisayar Programları C (Yüksek) C# (Yüksek) Java (Yüksek) CSS (Yüksek) HTML (Yüksek) Matlab (Orta) Python (Düşük) Julia (Düşük) Adobe Premiere Pro (Orta) Adobe Animate (Orta) Adobe After Effects (Düşük) Adobe Photoshop (Düşük) Microsoft Office (Yüksek)
LİSANS TEZİM Lisans bitirme tezimde, "Hatırla" adlı bir Android uygulaması geliştirdim. Bu uygulamanın amacı, günlük yaşantısında unutkanlık sıkıntısı yaşayan ya da alzheimer hastalığına sahip olan insanlara hatırlatma yapmak. Uygulama arayüzü, yaşı yüksek, telefonu kullanmakta zorlanan insanlar dikkate alınarak geliştirildi. Böylelikle pratik, kullanımı kolay olması sağlandı.
Uygulama girişinde hatırlatıcı oluşturmak ve oluşturulan hatırlatıcıları görüntüleyip düzenlemek için iki farklı buton yer alıyor.
Hatırlatıcı oluştur ekranında not bilgisi ve ses kaydı olacak şekilde hatırlatıcı için 2 farklı bilgi alanı var. Saat, tarih ve konum bilgisi olarak da hatırlatma zamanını ayarlamak için 3 farklı alan mevcut. Not bilgisi zorunlu, ses kaydı opsiyonel olacak şekilde ayarlandı. Ayrıca saat, tarih ve konum bilgilerinden herhangi birini doldurmak yeterli. Kullanıcı isterse zamanı ayarlamak için bu 3 alanın hepsini de doldurabilir.
Hatırlatıcıları göster ekranında ise hatırlatıcıların listelendiği bir alan ve bu alanın altında gizli olan 3 buton var. Düzenlemek, silmek ve ses kaydını oynatmak için yer alan bu butonlar, hatırlatıcı seçildiği anda aktif oluyorlar.
Not bilgisi alanında 20 karakter sınırı var. Not bilgisine karakter girildikçe not bilgisi alanının yanında olan bilgi kutucuğu, kaç karakter kaldığını anlık olarak gösteriyor.
Ses kaydetme ekranında kaydı başlatma butonu, kaydı kaydetmek için tamam butonu ve kaydı iptal etmek için iptal butonu yer alıyor. Bu butonlar dışında ses kaydını durdurmak, kaydedilen sesi oynatmak ve oynatılan sesi durdurmak için 3 farklı gizli buton da mevcut. Bu butonlar duruma göre aktif olup duruma göre gizleniyor.
Saat ve tarih seçme ekranları aynı mantıkla hazırlandı. Seçilecek saat ve dakika bilgisini kaydırarak bulup seç demek yeterliyken, seçilecek tarih için de gün, ay, yıl bilgisini kaydırarak bulup seç demek yeterli. Eğer herhangi bir seçim yapılmayacaksa ya da vazgeçildiyse iptal butonuna basılmalı.
Konum bilgisi seçmek için gelen ekranın sol üstünde yer alan metin kutucuğu, bulunacak konum bilgisini aramak için var. Metin kutusunu istenildiği gibi doldurduktan sonra git butonuna basılarak istenen konum bulunur. Eğer bulunan konum, kullanıcının istediği konum ise seç butonuna basılarak konum bilgisi kaydedilir ve hatırlatıcı oluşturma ekranına geri dönülür. Eğer herhangi bir konum seçilmeyecekse ya da vazgeçildiyse iptal butonuna basılması yeterli. Ayrıca aranan konum mevcut değilse bir bilgi kutucuğu çıkararak konumun bulunamadığını bildiriyor.
Saat seçme ekranı
Tarih seçme ekranı
Konum seçme ekranı
Gerekli bilgiler doldurulduktan sonra sağdaki gibi bir ekran ile karşılıyor. Bu ekranın en altında yer alan oluştur butonu sayesinde hatırlatıcı kaydediliyor ve ana menüye geri dönülüyor.
Görüldüğü gibi her doldurulan bilgi kutucuğu yanında sil butonu beliriyor. Bu butonlar sayesinde doldurulan bir alandan vazgeçildiğinde silmek mümkün.
Birkaç hatırlatıcı oluşturulduktan sonra karşılaşılan ekran ise soldaki gibi oluyor. Herhangi bir hatırlatıcı seçildikten sonra ise gizli olan 3 buton beliriyor. Eğer seçilen hatırlatıcıda ses kaydı mevcut değilse oynat butonu gizli kalmaya devam ediyor.
Düzenle butonu sayesinde seçilen hatırlatıcı düzenleme ekranına gidilerek düzenlenebiliyor. Sil butonu ile de seçilen hatırlatıcı silinebiliyor. Eğer seçilen oynatıcıda ses kaydı mevcut ise de oynat butonu sayesinde ses kaydı dinlenebiliyor.
Hatırlatıcı oluşturma, görüntüleme işlemleri gibi bir başka önemli nokta ise hatırlatıcının kullanıcıya hatırlatılması. Hatırlatıcı, zamanı geldiğinde soldaki gibi bir bildirim ile kullanıcıya hatırlatılıyor. Bildirim başlığında uygulamanın adı yer alıyor. Başlığın altında ise hatırlatıcı oluşturulurken girilen not bilgisi gösteriliyor.
Solda çıkan bildirime basıldığında ise sağdaki gibi bir ekran kullanıcıya sunuluyor. Bu ekranda üstten alta doğru olacak şekilde sırasıyla not bilgisi, ses kaydı bilgisi, saat bilgisi, tarih bilgisi ve konum bilgisi görüntüleniyor. Sağdaki örnekte ses kaydı olmadığı için yok yazsa da, ses kaydı mevcut olduğunda oynatma ve durdurma butonları o hizada yer alıyor.
Hatırlatıcı kullanıcıya hatırlatıldıktan sonra ise otomatik olarak veri tabanından siliniyor.
KullanÄąlan Teknolojiler Android Studio Java Programlama Dili Google Maps API SQLite
Tezin Amacı Bu tezin amacı, telefonu kullanmakta zorlanan insanları düşünerek yapılmış pratik bir hatırlatıcı uygulaması geliştirmek. Günümüzde birçok hatırlatıcı uygulaması mevcut ama arayüzleri oldukça profesyonel olduğu için maalesef herkese hitap etmiyor.
Bu teze başlamadan önce birçok popüler hatırlatıcıyı kullanarak ya da kullanmaya çalışarak deneyimledim ve telefon kullanımına aşina olduğum halde kullanmakta zorlandım. Yapılmış hatırlatıcıların genel sorununun, uygulama içi butonların anlaşılmayan küçük semboller ile ifade edildiğini gözlemledim. Ayrıca bazı hatılatıcılarda konum bazlı hatırlatma yapılmadığını fark ettim. Buradan yola çıkarak hatta kendi çevremde telefona aşina olmayan insanları düşünerek bir arayüz geliştirdim ve bir hatırlatıcıda olması gereken temel özellikleri belirleyerek bir uygulama yaptım.
Lisans tezimi daha detaylı incelemek için: Issuu https://issuu.com/alpayerkun/docs/lisans_tezim YouTube https://youtu.be/XJktDgeeFfU
Uygulamanın logosu
DÖVİZ ÇEVİRİCİ 2. stajımda bana yapmam için verilen görevde bir döviz çevirici uygulaması geliştirdim. Bu uygulamayı Android işletim sistemli telefonlar için geliştirdim.
Uygulama tek ekrandan oluşuyor. Uygulamanın amacı, Türk Lirasından diğer para birimlerine ve diğer para birimlerinden Türk Lirasına çeviri yapmayı sağlamak. Para birimi değerleri anlık olarak bir bankanın sitesinden çekiliyor. Görüldüğü gibi 2 buton var. Program açılışında sol üstteki butona basılmış gibi geliyor.
***Bu stajı 1 sene önce yaptığım için ve ekran görüntülerini o zaman aldığım için kur bilgileri günümüze göre farklılık içermektedir. Kur bilgilerini internetten çekmede herhangi bir sıkıntı yoktur.
Sol üstteki butona basıldığında Türk Lirası girme bölümü aktif, diğer para birimlerine değer girme alanları kilitli oluyor. Yani Türk Lirasından diğer para birimlerine çeviri için bu buton kullanılıyor.
Sağ üstteki butona basıldığında ise diğer para birimlerine değer girme alanları aktif, Türk Lirası girme alanı kilitli oluyor. Türk Lirası dışındaki 5 para biriminden hangisinin Türk Lirası karşılığının görülmesi isteniyorsa, o para birimine karşılık gelen alana değer girilmesi yeterli. Bir para birimi alanı doluyken bir başka para birimine değer girilirse Türk Lirası otomatik olarak girilen para birimine karşılık gelecek şekilde değişiyor ve değer girilen para birimi dışındaki para birimlerinin alanı temizleniyor.
İki buton arasında yer alan bilgi kutucuğu sayesinde hangi butona basılı olduğu yani hangi modda olunduğu açıkça görülebiliyor.
Her para biriminin yanında kilitli olduğunda bir kilit resmi beliriyor. Böylelikle hangi modda olduğunun anlaşılması kolaylaştığı gibi kafa karışıklığına engel olunuyor.
KullanÄąlan Teknolojiler
Android Studio Java Programlama Dili Jsoup
YEMEK HASTANESİ Bu uygulamayı, 3. sınıftaki Yazılım Mühendisliği dersinde geliştirdim. Adı Yemek Hastanesi olan uygulamanın temel amacı, günümüzde popüler olmuş olan Yemek Sepeti uygulaması ile aynı.
Görüldüğü üzere açılış ekranında üye olmuş kişilerin giriş yapması için ve üye olmayan kişilerin üye olması için iki farklı sekme mevcut. Üye girişi yapmak için kullanıcı adı ve şifre bilgisi yeterli. Ayrıca uygulamada yer alan şifre alanları için bir göz butonu yerleştirerek, şifre girme aşamasında istenilirse, girilen şifrenin görünür hale getirilebilmesini mümkün kıldım.
Üye olma sekmesinde kullanıcının temel bilgilerini aldım. Bu bilgileri üye olduktan sonra veri tabanına kaydettim. Üye girişi yapılırken de veri tabanından kontrol işlemleri gerçekleştiriyorum.
Kullanıcının üye olma sekmesinde girdiği E-Mail bilgisi, üye girişi yapılırken gerekli olan kullanıcı adı bilgisine denk geliyor. Üye girişi için önemli olan kullanıcı adı bilgisi yanında şifre bilgisi de yine üye olurken girilen önemli alanlardan biri.
Kullanıcıdan adres bilgileri alırken kolaylık olsun diye il ve ilçe alanlarını açılır menü seklinde yaptım. Böylelikle kullanıcının yazmasına gerek kalmadan seçmesi yeterli oluyor.
Kullanıcı üye girişi yaptıktan sonra soldaki gibi bir ekran ile karşılaşıyor ve görüldüğü gibi 4 farklı sekme mevcut. İlk açılışta kullanıcıyı karşılayan sipariş seçimi sekmesinde mutfak türü, seçilen mutfak türüne göre listelenen restoranlar ve seçilen restorana göre listelenen menü olmak üzere üç farklı temel alan mevcut. Bu 3 alan yanında, menüden seçilen ürünü dikkate alan ürün adedi bölümünde girilen değer, bu değer ile seçilen ürünün fiyatını çarparak fiyat bölümündeki değeri otomatik olarak güncelliyor. Burada gerekli seçimler yapıldıktan sonra sepete ekle butonuna basılması yeterli oluyor.
Sağda görülen sepetim sekmesinde ise sipariş seçimi sekmesinde sepete eklenen ürünler listeleniyor. Üç sütundan oluşan sepet listesinin solunda restoran isimleri, ortada seçilen ürün adı ve adedi, sağ sütunda ise ürünün ürün adedi ile çarpılmış fiyatı yazıyor. Sepet listesi altında yer alan toplam tutar bölümü, sepete eklenmiş tüm ürünlerin toplam fiyatını gösteriyor. Sipariş ver butonu ile siparişi tamamlanabilir ya da sepeti boşalt butonu ile sepetteki tüm ürünler temizlenebilir. Ayrıca listelenen ürünlerden birini seçerek seçilen ürünü sepetten çıkar butonu ile sadece seçilmiş olan ürünü sepetten silebiliyoruz.
Sepetim sekmesinde yer alan geçmiş siparişleri görüntüle butonuna basıldığında, soldaki gibi bir ayrı ekran açılmakta. Bu ekranda görüldüğü üzere yine sepetim sekmesindeki liste baz alınarak solda restoranlar, ortada ürünler, sağda ise ürünlerin fiyatları listeleniyor. Bu ekranın tek amacı kullanıcının eski siparişlerinin listesini kullanıcıya göstermek.
Solda görülen profil sekmesinde, kullanıcıya ait olan temel bilgileri gösteren alanlar ile beraber şifre yenilemek için de bir alan yer alıyor. Ayrıca kullanıcı oturumunu kapatmak isterse çıkış yap butonu ile bunu gerçekleştirebiliyor. Kullanıcının temel bilgilerinin yer aldığı kısımda puan ve indirim paketi olmak üzere iki önemli alan bulunuyor. Puan alanı, kullanıcı her sipariş verdiğinde sipariş tutarının 10'da 1'i kadar artıyor. Bu şekilde toplanan puanlar sonucunda ise mağaza sekmesinde bulunan indirim paketleri satın alınabiliyor. Mağazadan alınan indirim paketi ise profil sekmesindeki indirim paketi alanında görüntüleniyor.
Mağazadan alınan bir indirim paketi mevcut ise başka bir indirim paketi alınamıyor. İndirim paketi alınmaya çalıştığında mevcut paketin kullanılması gerektiğinin uyarısı yapılıyor.
Sipariş ile ilgili alanda bulunan son sekme olan şikayet sekmesi ile uygulama ile ilgili sorunları, problemleri uygulama sahibine yani bana iletmek için yapılmış bir bölüm. Burada bulunan sarı alana iletilmek istenen mesaj yazıldıktan sonra gönder butonu yardımı ile mesaj iletiliyor. Yazılacak olan mesaj için 500 karakter sınırı bulunmakta.
KullanÄąlan Teknolojiler Visual Studio C# Programlama Dili SQL Server
ANTALYA TANITIM WEB SAYFASI İlk sıtajımda bana yapmam için verilen görevde HTML yardımı ile Antalya'yı tanıtan bir web sayfası geliştirdim. Bu sitenin index sayfası yani ana sayfası solda görüldüğü gibidir. Üst panelde diğer sayfalara geçiş sağlanmakta. Alt panelde ise Antalya ile ilgili temel bilgiler yer almakta. Bu panelin solunda Antalya'nın hava durumu, ortasında Antalya hakkında özet bilgiler ve sağında ise saat, Antalya'nın namaz vakitleri ve Antalya'nın özet spor bilgileri yer almakta.
Solda görülen ekranda Antalya hakkında bilgiler yer alan tarihçe sayfası görüntülenmekte.
Sağda görüntülenen ekranda ise Antalya'ya ait ulaşım araçlarının bilgisi görüntüleniyor.
Yukarıda bulunan iki ekran da aynı mantıkla hazırlandı. Soldaki ekranda Antalya'nın ilçeleri, sağdaki ekranda ise Antalya'nın önemli tarihi yerleri görüntülenmekte. İki ekranda da 3 farklı sütun mevcut. Sol sütun seçilen ilçenin veya önemli yerin görselini, sağ sütun seçilen ilçenin ya da önemli yerin bilgilerini görüntülüyor. Orta sütunlarda ise ilçeler ve önemli yerler listeleniyor ve bu listelerden istenilene tıklanabiliyor. Tıklandıkça soldaki ve sağdaki sütun güncelleniyor.
Son olarak da iletişim sayfasını görüyorsunuz. Antalya'nın önemli iletişim numaralarını görüntüleyen ve Antalya'nın sistemine otomatik olarak mail atacak olan iki farklı bölümü içeren bir sayfa. Şikayet kısmında gerekli alanları doldurduktan sonra gönder butonu yardımı ile şikayeti belediyeye iletebilir ya da girilen bilgi kutucuklarını temizle butonu ile temizlenebilir.
***Bu stajı 2 sene önce yaptığım için ve de ekran görüntülerini o zaman aldığım için sitede yer alan bazı bilgiler güncel olmayabilir.
ARDUINO İLE OYUN 2. sınıfta almış olduğum Elektrik - Elektronik Mühendisliğine Giriş dersinin projesinde Arduino ve C programlama dilini kullanarak bir oyun geliştirdim.
Oyunda iki öğe yer alıyor. Bizi temsilen "|" karakteri ve düşmanı temsilen "*" karakteri mevcut. 2x16'lık ekrandaki en sol karede bizi temsil eden karakter yer alıyor ve devre üzerinde bulunan buton ile aşağı yukarı hareket ettirilebiliyor. Oyun ilk başladığı andan itibaren belirli bir hızla en sağ kareden düşman karakterler bizim karakterimize doğru ilerliyor. Biz de buton yardımı ile aşağı ve yukarı yaparak kaçabiliyoruz.
Oyun oynanırken temel amaç, kendi karakterimizi buton yardımı ile yukarı aşağı hareket ettirerek düşman karakterlere çarpmamak. Butona basılmadığında aşağı satırda yer alan karakterimiz butona basıldığında yukarı satıra çıkıyor. Butona basıldığı sürece yukarı satırda kalıyor ve butona basmayı bırakınca tekrar aşağı satıra geçiyor.
Eğer karakterimiz düşman karaktere çarparsa yani kaybedersek soldaki gibi bir ekran ile karşılaşıyoruz. Bu ekranda kaybettiğimizi gördükten sonra butona bir kere basarsak sağdaki gibi bir ekranla karşılaşıyoruz ve oyun tekrar başlıyor.
KARANLIĞIM - KISA FİLM Animasyon, Dram, Fantezi türündeki kısa filmde yönetmenlik, senaristlik, kurgu, animasyon ve müzik yapımı.
Film içinde yer alan karakter hareketlerini, sesleri, müzikleri ve çizilmiş olan her şeyi kullanarak Adobe Premiere programında kurgusunu yaptım. Bazı yerlerdeki karakter hareketlerini Adobe Animate programında tasarladım.
TEŞEKKÜRLER