Yazılım, Yapay Zeka ve Yaratıcılık Kulübü (YYY) olarak düzenlediğimiz "Kod Tadında Pilav" tanışma etkinliğinde katılımcıların ödül (tavuklu pilav) kazanmak için kullandığı yarışma/quiz sistemi.
Etkinlik detaylarına ve arşiv görüntülerine buradan ulaşabilirsiniz.
Bu proje, basit bir quiz uygulamasının ötesinde güvenli ve kesintisiz bir etkinlik deneyimi sunmak için geliştirilmiştir.
crypto kütüphanesi kullanılarak HMAC SHA256 algoritması ile (Hex Digest) imzalanır.Projeyi yerel ortamınızda çalıştırmak için aşağıdaki adımları izleyin.
git clone https://github.com/karahanbuhan/kod-tadinda-pilav-quiz.git
cd kod-tadinda-pilav-quiz
npm install
# veya
pnpm install
Projenin kök dizininde .env adında bir dosya oluşturun ve aşağıdaki değerleri girin.
Not: ADMIN_SECRET cookie güvenliği için kullanılır, rastgele uzun bir string verebilirsiniz.
# Admin paneli giriş şifresi
ADMIN_PASSWORD="super_gizli_sifre"
# Cookie imzalamak için gizli anahtar (Rastgele karmaşık bir değer girin)
ADMIN_SECRET="rastgele_uzun_ve_karmasik_bir_string_deger_giriniz_12345"
npm run dev
Tarayıcınızda http://localhost:5173 adresine giderek uygulamayı görebilirsiniz.
Projeyi Docker konteyneri içerisinde production modunda çalıştırmak isterseniz:
docker build -t kod-tadinda-pilav-quiz .
Environment değişkenlerini -e bayrağı ile verebilirsiniz:
docker run -d -p 3000:3000 \
-e ADMIN_PASSWORD="super_gizli_sifre" \
-e ADMIN_SECRET="rastgele_uzun_ve_karmasik_bir_string_deger_giriniz_12345" \
--name yyy-quiz-app \
kod-tadinda-pilav-quiz
Veya .env dosyasını doğrudan bağlayabilirsiniz:
docker run -d -p 3000:3000 --env-file .env --name yyy-quiz-app kod-tadinda-pilav-quiz
Uygulama http://localhost:3000 adresinde çalışacaktır.
Docker kullanmadan sunucuda çalıştırmak için build almanız gerekir:
npm run build
node build/index.js
# Adapter-node kullandığınız varsayılmıştır
Bu proje MIT lisansı ile lisanslanmıştır. Dilediğiniz gibi kullanabilir, değiştirebilir ve geliştirebilirsiniz.