Button imageProjelerim

Website
eminakkoc.com(Kişisel web sitesi)

Kişisel web sitemi geliştirirken farklı bir yaklaşım denedim. Geleneksel portföy sitelerinin aksine, ki bunlar özgeçmiş belgelerine benzer şekilde geliştirilir, bir 3d sahne oluşturdum ( ThreeJS ).

Web sitesinde mevcut olan tüm route'lar ( NextJS ) sokakta bir bina ile temsil edilmektedir. Geleneksel bir web sayfasındaki gibi bir bağlantıya tıklamak yerine, kullanıcılar bu binalara (veya menüden bina adlarına) tıklayarak o binanın konumuna seyahat eder ve sunucu tarafında render edilmiş sayfayı görüntülerler.

Kullanıcılar ayrıca serbestçe yürüyebilir ve etrafa bakabilir ve herhangi bir binaya tıklamamışlarsa ve henüz herhangi bir sayfaya yönlendirilmemişlerse, kullanıcı kontrolleri ve klavye kısayolları ile sahnenin tadını çıkarabilirler.

Sayfalar "responsive" olarak oluşturulmuştur ve mobil cihazlarda 3d render performansları test edilmiştir.

Sahneyi oluşturma:

Binalar

Tüm 3d bina modelleri blender'da çizilmiştir.

Doku

Tüm piksel art dokuları aseprite'te çizilmiştir.

Doku uygulanan bina

Piksel art dokuları UV Haritalama aracılığıyla modellere uygulanmıştır.
Doku üzerindeki gölgeler, bina modeline vertex boyama ile uygulanmıştır.
becomes
becomes

Doku pişirme

Vertex boyama işleminden sonra, elde edilen gölgeli doku bina modeline pişirilir(baking) ve dışa aktarmaya hazır hale getirilir.

Dışa aktarma

Tüm binalar, varlıklar ve ışıklar, daha önce bahsedilen işlemleri tamamladıktan sonra threeJS editöründen dışa aktarılmıştır. (.gltf dosyaları)

Teknolojiler

logo image
react
logo image
nextJS
logo image
javascript
logo image
typescript
logo image
threejs
logo image
css
logo image
tailwind
logo image
html
logo image
git

Araçlar

logo image
vscode
logo image
blender
logo image
aseprite
logo image
pixaki
logo image
inkscape
logo image
gimp
logo image
jira
logo image
netlify

Resipise, tanımlı malzemeleri kullanarak kendi yemeklerinizi tasarlamanızı sağlayan bir yemek kitabı uygulamasıdır.

Resipise malzeme veritabanı, esas olarak FDC'den elde edilen gıda verilerini kullanır, böylece kullanıcılar kendi yemeklerini tasarlarken malzemelerinin besin bilgilerini takip edebilirler.

Resipise'in özellikleri:

Yemek kitabım

Yemeklerinizi Dashboard sayfasındaki bölümlere taşınarak görüntüleyebilir ve düzenleyebilirsiniz. Her yemek bir kart ile temsil edilir, bu kart ile şunları yapabilirsiniz:
  • Paylaşım butonuna tıklayarak yemek bağlantılarını kopyalayabilir,
  • Yemeği yeni "section" lara taşıyabilir,
  • Yemeğinizi yeniden adlandırabilir, düzenleyip/silebilirsiniz.

Yemek detaylarım

Yemek kartından tencere butonuna tıklayarak bir yemeğin bütün besin değerlerini de görüntüleyebilirsiniz.

Tarif

Bir yemek tarifi oluştur

Malzemeleri ve kullanılacak mutfak aletlerini seçerek, daha sonrasında da adımlar oluşturarak kendi tariflerinizi oluşturabilirsiniz veya sadece tarif metni ekleyebilirsiniz. (Bu yemek kaydettikten sonra otomatik olarak dashboard sayfanıza eklenecektir.)

Tarif Önizlemesi

Tarifleri önizle

Kendi tariflerinizi veya sizinle paylaşılan tarifleri, paylaşılan bağlantı linklerini takip ederek veya Dashboard sayfasındaki yemek kartına tıklayarak önizleyebilirsiniz.
  • Malzemeleri görüntüle.
  • Tarif adımlarını görüntüle.
  • Yemek besin değerlerini görüntüle.

Program

Zaman dilimi tablosu

Günlük gıda alımınızı yemeklerinizi veya resipise veritabanında zaten mevcut olan yaygın gıdaları ekleyerek planlayabilirsiniz (FDC veritabanından elde edilen verilerle). Ayrıca:
  • Zaman dilimlerine not ekleyin.
  • Gün için not ekleyin.
  • Sadece programa eklemek için bir yemek oluşturun (dashboard'unuza eklemeden).
  • Malzemelerini ve miktarlarını değiştirerek bir yemek ekleyin.
  • O gün için toplam gıda besin alımını görüntüleyin.

Sınırlar

Ayrıca besin değerleri limitleri tanımlayabilir ve bunları besin alımınızı takip etmek için herhangi bir zaman dilimine uygulayabilirsiniz.

Alışveriş listesi

Bu sayfadan alışveriş listeleri oluşturabilir veya paylaşabilirsiniz. (Paylaşılan bir alışveriş listesinde yapılan herhangi bir işlem, tüm paylaşılan kullanıcılar için aynı alışveriş listesi verilerini anında günceller.) Bir alışveriş listesine tıkladığınızda, alışveriş listesi detayları sayfasına yönlendirilirsiniz ve burada şunları yapabilirsiniz:
  • "isim", "kategori", "detaylar", "nereden alınır" niteliklerini tanımlayarak alışveriş listenize yeni girişler ekleyin/güncelleyin/silin.
  • Mobil modda kontrol butonuna tıklayarak veya sola/sağa kaydırarak girişlerinizin durumunu güncelleyebilirsiniz.
  • Görüntülenen liste elemanlarını filtreleyin.

Kullanıcı profil ayarları

Bu sayfadan tercihlerinizi ve kullanıcıyla ilgili ayarları düzenleyebilirsiniz. Profil sayfasındaki ayarlar şunlardır:
  • Kullanıcı adınızı ve profil fotoğrafınızı güncelleyin.
  • Gelen arkadaş taleplerini görüntüleme, yaptığınız arkadaş taleplerini görüntüleme ve mevcut arkadaşlarınızın listesini gösterme gibi arkadaşlarla ilgili işlemler.
  • Günlük besin limitleri oluşturun (Örneğin: Günlük enerji alım limitleri kcal olarak, 1800 kcal vb.).
  • Tanımladığınız besin limitlerini program sayfanızda tanımlı herhangi bir günlük zaman dilimine uygulayın.
  • Besin değerlerini manuel olarak ekleyerek veya AI yardımını isteyerek yiyecekler ekleyin (Bu özellik, kullanıcıların mevcut resipise veritabanında bulunmayan yiyecekleri eklemelerini sağlamak için eklenmiştir, örneğin belirli bir marka yoğurt vb.).

Teknolojiler

logo image
solidJS
logo image
javascript
logo image
typescript
logo image
nodeJS
logo image
html
logo image
css
logo image
css-modules
logo image
jest
logo image
surrealdb
logo image
vite
logo image
firebase functions
logo image
google cloud platform
logo image
pusher
logo image
docker
logo image
git

Araçlar

logo image
vscode
logo image
postman
logo image
aseprite
logo image
pixaki
logo image
inkscape
logo image
gimp
logo image
jira
logo image
netlify