Türk Hava Kurumu Üniversitesi Kampüs Kedileri Takip ve Sosyal Sorumluluk Platformu
Demo • Özellikler • Kurulum • Dokümantasyon
THKÜ Kampüs Kedileri, Türk Hava Kurumu Üniversitesi kampüsünde yaşayan sokak kedilerinin takibi, bakımı ve sahiplendirilmesi süreçlerini dijitalleştiren bir sosyal sorumluluk platformudur.
Platform sayesinde öğrenciler ve akademisyenler:
- Kampüsteki kedileri kayıt altına alabilir
- Beslenme kayıtlarını tutabilir
- Harita üzerinde kedi lokasyonlarını işaretleyebilir
- Kediler için isim önerisinde bulunup oy kullanabilir
- Duyuru ve haberleri takip edebilir
- Çoklu Rol Desteği: Öğrenci, Akademisyen ve Yönetici rolleri
- E-posta Doğrulama: Firebase Authentication ile güvenli kayıt
- Profil Yönetimi: Kullanıcı bilgilerini güncelleme
- Kedi Kaydı: Fotoğraf, özellik ve konum bilgileriyle kedi ekleme
- Durum Takibi: Kampüste, Sahiplenildi, Melek Oldu durumları
- Onay Mekanizması: Yönetici onayı ile kedi kaydı yayınlama
- İsim Oylaması: Topluluk tarafından isim önerisi ve oylama
- Mama bırakma kayıtları
- Kullanıcı bazlı beslenme geçmişi
- Miktar takibi (250g - 2.5kg arası)
- Kampüs haritası üzerinde kedi konumları
- Mama noktası işaretleme
- Gerçek zamanlı güncelleme
- Yönetici tarafından haber/duyuru paylaşımı
- Topluluk bildirimleri
| Kategori | Teknoloji |
|---|---|
| Frontend | React 19, TypeScript, Tailwind CSS |
| Build Tool | Vite 6 |
| Backend | Firebase (Auth, Firestore, Storage) |
| Icons | Lucide React |
| Image Processing | browser-image-compression |
| Testing | Vitest, React Testing Library |
- Node.js 18+
- npm veya yarn
- Firebase hesabı
-
Repoyu klonlayın
git clone https://github.com/your-username/thku-kampus-kedileri.git cd thku-kampus-kedileri -
Bağımlılıkları yükleyin
npm install
-
Ortam değişkenlerini yapılandırın
cp .env.example .env
.envdosyasını düzenleyin:VITE_ADMIN_EMAIL=admin@example.com
-
Firebase yapılandırması
services/firebase.tsdosyasındaki Firebase config bilgilerini kendi projenizin bilgileriyle güncelleyin. -
Geliştirme sunucusunu başlatın
npm run dev
Uygulama
http://localhost:3000adresinde çalışacaktır.
npm run build# Firebase CLI kurulumu (eğer yoksa)
npm install -g firebase-tools
# Firebase'e giriş
firebase login
# Deploy
firebase deploythku-kampus-kedileri/
├── components/ # React bileşenleri
│ ├── AddCat.tsx # Kedi ekleme formu
│ ├── AdminPanel.tsx # Yönetici paneli
│ ├── Auth.tsx # Giriş/Kayıt ekranları
│ ├── CatDetail.tsx # Kedi detay sayfası
│ ├── Dashboard.tsx # Ana pano
│ ├── Layout.tsx # Sayfa düzeni
│ └── Map.tsx # İnteraktif harita
├── services/ # Servis katmanı
│ ├── api.ts # Firebase API servisleri
│ ├── firebase.ts # Firebase yapılandırması
│ └── mockService.ts # Mock data servisi
├── test/ # Test dosyaları
├── App.tsx # Ana uygulama bileşeni
├── types.ts # TypeScript tipleri
├── index.tsx # Uygulama giriş noktası
├── firebase.json # Firebase yapılandırması
├── firestore.rules # Firestore güvenlik kuralları
├── storage.rules # Storage güvenlik kuralları
└── vite.config.ts # Vite yapılandırması
- Herkes kedileri ve haberleri okuyabilir
- Sadece giriş yapmış kullanıcılar kedi ekleyebilir
- Sadece yöneticiler kedi onaylayabilir ve silebilir
- Kullanıcılar sadece kendi profillerini düzenleyebilir
- Herkes resimleri görüntüleyebilir
- Sadece giriş yapmış kullanıcılar resim yükleyebilir
- Maksimum dosya boyutu: 5MB
- Sadece resim dosyaları kabul edilir
# Testleri çalıştır
npm run test
# Watch modunda testleri çalıştır
npm run test -- --watch| Ana Pano | Kedi Detay | Harita |
|---|---|---|
| Dashboard görünümü | Kedi bilgileri ve beslenme | Kampüs haritası |
Katkılarınızı memnuniyetle karşılıyoruz!
- Bu repoyu fork edin
- Feature branch oluşturun (
git checkout -b feature/amazing-feature) - Değişikliklerinizi commit edin (
git commit -m 'feat: Add amazing feature') - Branch'inizi push edin (
git push origin feature/amazing-feature) - Pull Request açın
<type>: <description>
[optional body]
Types: feat, fix, docs, style, refactor, test, chore
Bu proje MIT Lisansı altında lisanslanmıştır. Detaylar için LICENSE dosyasına bakın.
THKÜ Kampüs Kedileri Ekibi
Türk Hava Kurumu Üniversitesi öğrencileri tarafından geliştirilmiştir.
🐱 Kampüsümüzdeki dostlarımız için tek yürek! 🐱
Developers: Erdoğan Başer - eb.baser@gmail.com Ziya Üre - ziyaure06@gmail.com