מערכת לניטור וניהול מיקומי תלמידות בזמן אמת, הכוללת ממשק מורה לניהול כיתתי וממשק הורים לצפייה במיקום.
- ממשק מורה: צפייה בכל תלמידות הכיתה על גבי מפת Google Maps ועדכון מיקומים אוטומטי.
- ממשק הורה: מעקב ממוקד אחרי תלמידה ספציפית.
- ניהול נתונים: הוספת תלמידות חדשות ושיוכן לכיתה הרלוונטית.
- שלב בונוס - Proximity Alerts: מערכת התראות חכמה המחשבת את המרחק בין המורה לתלמידותיה ומתריעה בזמן אמת על חריגה מהטווח המוגדר (Geofencing).
- Frontend: Angular 17+, Google Maps API, Signals, RxJS.
- Backend: .NET Core Web API, Entity Framework Core.
- Database: SQL Server.
- Architecture: Repository Pattern & Service Layer (Dependency Injection).
##הוראות הרצה
- .NET SDK 8.0+
- Node.js & Angular CLI
- SQL Server
-
נווט לתיקיית ה-Server.
-
עדכן את מחרוזת החיבור (ConnectionString) ב-
appsettings.json. -
הרץ פקודת
Update-Databaseבתוך ה-Package Manager Console. -
הפעל את השרת:
dotnet run
-
נווט לתיקיית ה-Client.
-
התקן את חבילות ה-NPM הנדרשות:
npm install
-
ודא שקיים מפתח API תקין של Google Maps בקובץ ה- environments.ts`.
-
הפעל את אפליקציית ה-Angular:
ng serve 5. פתח את הדפדפן בכתובת: `http://localhost:4200`.
- TravelSystem: חשיפת ה-Endpoints וניהול ה-Controllers.
- TravelSystem.Services: שכבת הלוגיקה העסקית, כולל מימוש ה-Service, הזרקת תלויות (DI) וחישובי מרחק גיאוגרפיים.
- TravelSystem.Repositories: שכבת הגישה לנתונים (Data Access) המשתמשת ב-Entity Framework Core.
- TravelSystem.Entities: הגדרת הישויות, ה-DTOs (Data Transfer Objects) והממשקים (Interfaces).
במערכת הוטמעה נוסחת Haversine לחישוב מרחק אווירי בין שתי נקודות על גבי כדור הארץ. המערכת מבצעת "דגימה" (Polling) כל 30-60 שניות ומבצעת השוואה בין קואורדינטות המורה (המתקבלות מהדפדפן) לבין קואורדינטות התלמידות. במידה וזוהתה חריגה מהרדיוס המוגדר, המערכת מקפיצה התראה ויזואלית למורה.