Skip to content

Latest commit

 

History

History
155 lines (103 loc) · 3.83 KB

File metadata and controls

155 lines (103 loc) · 3.83 KB

TechEventRadar

Tek cümle amaç: Öğrencilerin ve yeni mezunların güncel teknoloji etkinliklerini tek yerde kolayca bulması.

TechEventRadar; bootcamp, webinar, hackathon, kariyer etkinliği ve topluluk buluşmalarını farklı kaynaklardan toplayıp tek bir ekranda sunar. Böylece öğrenciler "hangi etkinlik ne zaman, nerede, nasıl başvurulur" sorularını tek tek siteleri gezmeden yanıtlayabilir.

TechEventRadar Logo

Neden Bu Proje?

Öğrenciler için en büyük problem bilgiden çok dağınıklık:

  • Etkinlikler farklı platformlara dağılmış durumda
  • Son başvuru tarihleri kolayca kaçırılıyor
  • Ücretsiz/online etkinlikleri filtrelemek zaman alıyor

TechEventRadar bu dağınıklığı azaltmak için geliştirildi.

Öne Çıkan Özellikler

  • Çoklu kaynaklardan etkinlik toplama
  • Tek listede arama ve filtreleme
  • Etkinlik detayına hızlı erişim
  • Admin paneli ile içerik yönetimi
  • Öneri/şikayet ve etkinlik ekleme talepleri
  • Duyuru sistemi

Etkinlik Kartı Placeholder

Mimari

  • Backend: FastAPI + SQLAlchemy + PostgreSQL
  • Frontend: React (Vite)
  • Scraping: Python tabanlı scraper modülleri
  • Deployment: Docker Compose

Hızlı Başlangıç

1) Projeyi klonla

git clone https://github.com/Metrohan/eventradar.dev.git
cd eventradar.dev

2) Ortam değişkenlerini hazırla

cp .env.example .env

.env içindeki değerleri kendi ortamına göre düzenle.

3) Docker ile çalıştır

docker compose up -d --build

4) Uygulamayı aç

  • Frontend: http://localhost:3000
  • Backend: http://localhost:8000
  • API Docs: http://localhost:8000/docs

Geliştirme (Local)

Backend

pip install -r requirements.txt
uvicorn app.main:app --reload

Frontend

cd frontend
npm install
npm run dev

Katkı Sağlama

Katkıların proje için çok değerli. Küçük düzeltmeler bile büyük etki oluşturur.

Nasıl katkı verebilirsin?

  • Yeni scraper kaynağı eklemek
  • Mevcut scraper hatalarını düzeltmek
  • Tarih/konum ayrıştırma doğruluğunu artırmak
  • Frontend filtreleme ve UX iyileştirmeleri
  • Dokümantasyon ve test kapsamını geliştirmek

Adım adım katkı akışı

  1. Bu repoyu fork et
  2. Yeni bir branch aç
  3. Değişikliğini yap
  4. Test et
  5. Açıklayıcı bir Pull Request gönder

Örnek:

git checkout -b feat/add-new-source
git add .
git commit -m "feat: add new event source scraper"
git push origin feat/add-new-source

Daha detaylı rehber için: CONTRIBUTING.md

Güvenlik ve Gizlilik

Bu proje açık kaynak sürümde secret/credential içermez. Şüpheli bir güvenlik problemi görürsen lütfen SECURITY.md üzerinden bildir.

Yol Haritası

  • Kaynak sayısını artırmak
  • Daha sağlam tarih normalizasyonu
  • Kalite metrikleri (kaynak bazlı başarı oranı)
  • Öğrenci dostu kişiselleştirilmiş öneri sistemi

Lisans

MIT Lisansı: LICENSE


Bu proje öğrencilerin fırsatlara daha hızlı ulaşabilmesi için geliştiriliyor. İyi bir etkinlik bazen kariyerin yönünü değiştirir.

Scraper'ı Manuel Çalıştırma

Etkinlikleri anlık çekmek için:

docker compose run --rm scraper python scripts/run_daily_scrape.py

Hata Alarmı (Telegram)

backend/scraper loglarında kritik hata olduğunda Telegram mesajı almak için:

export TELEGRAM_BOT_TOKEN="<BOT_TOKEN>"
export TELEGRAM_CHAT_ID="<CHAT_ID>"
python3 scripts/monitor_alerts.py

Sürekli izleme için cron örneği (her 2 dakikada bir):

*/2 * * * * cd /path/to/eventradar.dev && TELEGRAM_BOT_TOKEN=<BOT_TOKEN> TELEGRAM_CHAT_ID=<CHAT_ID> /usr/bin/python3 scripts/monitor_alerts.py >> /var/log/eventradar-alerts.log 2>&1