Proje: OkulUp · Hub: OkulUp — Domain
Feature Modülleri
Uygulamadaki tüm modüller ve durumları:
Ana Modüller
| Modül | Screen | Service | Hook | Status |
|---|---|---|---|---|
| Dashboard | (tabs)/home.tsx | dashboard.ts | useDashboard | Aktif, 5 rol için |
| Duyurular | (tabs)/announcements.tsx | announcements.ts | useAnnouncements | Aktif |
| Mesajlar | (tabs)/messages.tsx | messages.ts | useMessages | Aktif, WebSocket |
| Bildirimler | (tabs)/notifications.tsx | notifications.ts | useNotifications | Aktif, polling + push |
| Profil | (tabs)/profile.tsx | — | useUpdateProfile | Aktif |
| Takvim | (tabs)/calendar.tsx | — | useCalendarData | Aktif, event + note |
| Etkinlikler | (tabs)/events.tsx | events.ts | useEvents | Aktif, RSVP destekli |
| Galeri | (tabs)/galleries.tsx | galleries.ts | useGalleries | Aktif, approve flow |
| Yoklama | (tabs)/attendance.tsx | attendances.ts | useAttendances | Aktif, bulk entry |
| Ödemeler | (tabs)/payments.tsx | payments.ts | usePayments | Aktif |
| Günlük Takip | (tabs)/tracking.tsx | tracking.ts | useTracking | Aktif, fotoğraf desteği |
| Raporlar | (tabs)/reports.tsx | reports.ts | useStudentAcademicSummary | Aktif |
| Ödevler | (tabs)/assignments.tsx | assignments.ts | useAssignments | Default kapalı |
| Randevular | (tabs)/appointment.tsx | appointments.ts | useAppointments | Aktif |
| Belge Talepleri | (tabs)/document-requests.tsx | document-requests.ts | useDocumentRequests | Aktif |
| Yemek Menüsü | (tabs)/meal-menus.tsx | meal-menus.ts | useMealMenus | Aktif (son eklenen) |
Ek Modüller
| Modül | Screen | Notlar |
|---|---|---|
| Admin Users | (admin)/users/ | Admin-only CRUD |
| Sohbet | chat/[id].tsx | WebSocket real-time chat |
| Günlük Özet | daily-overview.tsx | Sınıf bazlı günlük özet |
| Program | schedule.tsx | Teacher/student ders programı |
| Notlar | Takvim içi | Kişisel notlar, reminder |
| Onboarding | (auth)/ | Okul arama + enrollment request |
Modül Bileşen Yapısı
Her modül src/components/modules/{module-name}/ altında:
module-name/
├── ModuleCard.tsx # Liste item
├── ModuleList.tsx # FlashList wrapper
├── ModuleDetailHeader.tsx # Detay sayfa header
├── ModuleFAB.tsx # Create butonu (rol kontrolü ile)
├── ModuleForm.tsx # Create/edit form
└── index.ts # Barrel exports
Günlük Takip Kategorileri
TrackingCategory: meal_breakfast, meal_lunch, meal_snack, sleep, medication, mood, diaper, note
Özellik: fotoğraf yükleme destekli, sınıf bazlı toplu giriş (useBulkCreateTracking)
Randevu Statüsleri
pending → confirmed → completed / cancelled Parent create edebilir, teacher confirm/complete/cancel edebilir
Belge Talebi Statüsleri
pending → approved/rejected → completed/cancelled
Atama (Assignment) Statüsleri
draft → published → closed Öğrenci/veli submit edebilir, öğretmen review edebilir
Related
- permission-system — her modül için kim ne yapabilir
- user-roles — role bazlı farklı davranışlar