Proje: OkulUp · Hub: OkulUp — Architecture
Backend API Genel Bakış
Backend: Laravel + Sanctum, lokasyon: /Users/furkannamli/Desktop/project/kampusapi/kampus
Public Endpoint’ler (Auth Gerektirmez)
POST /api/register → kayıt
POST /api/login → giriş
POST /api/forgot-password → şifre sıfırlama
POST /api/auth/social → social auth (Google/Apple)
GET /api/schools → okul arama (enrollment için)
GET /api/health → sistem sağlık kontrolü
Feature Middleware
Backend’de feature:xyz middleware — ilgili özellik kapalıysa 403 döner:
feature:messaging— tüm conversation/message endpoint’lerifeature:broadcast_messaging— broadcast mesajfeature:assignments— ödevler (tüm endpoint’ler)feature:academic_reports— akademik özetfeature:attendance_reports— yoklama raporu exportfeature:payment_summary— ödeme exportfeature:document_requests— belge taleplerifeature:meal_menu— yemek menüsü
Authenticated Endpoint Grupları
Tüm auth endpoint’ler auth:sanctum + throttle:api middleware altında.
Auth: logout, me, change-password, delete-account, refresh-token
Users: CRUD /api/users, avatar upload/delete
Announcements: CRUD + read-mark + attachments + export
Conversations: liste, detay, mesaj gönder, broadcast
Notifications: liste, unread-count, mark-read, preferences
Classes: CRUD, daily-overview
Schedule: today, week, student
Appointments: CRUD + cancel + teacher availability + selection data
Tracking: CRUD + bulk + daily + summary + categories
Attendances: CRUD + bulk + class-attendance + report
Payments: CRUD + payment types + mark-paid + reminder + receipt upload + export
Events: CRUD + RSVP + cover upload
Galleries: CRUD + approve/reject + media upload/delete
Assignments: CRUD + publish/close + submit + parent-submit + review + attachments
Reports/Exports: attendance export, payment export, download
Document Requests: CRUD + approve/reject/complete/cancel + upload
Meal Menus: CRUD + attachment upload/delete
Other: dashboard (5 tip), mobile-config, app-config, preferences, notes, school-settings, enrollment
Health Endpoint
GET /api/health — DB, Redis, Queue, Storage kontrolleri + latency
Throttle Kuralları
throttle:login— login/registerthrottle:message— mesaj göndermethrottle:upload— dosya yükleme (ayrı limit)throttle:api— genel authenticated endpoint’lerthrottle:school-search— okul arama
Related
- api-client-architecture — frontend Axios client
- mobile-config-feature-flags — feature flags