מיועד למפתחים המעוניינים להציג את תיק העבודות שלהם ב-GitHub בקליינט משלהם.
האפליקציה מתחברת לחשבון ה-GitHub של המשתמש, שולפת מידע על הפרויקטים שלו ומציגה נתונים רלוונטיים. בנוסף, היא מאפשרת חיפוש בכלל ה-repositories הפומביים עם אפשרויות סינון שונות.
-
.NET Core Web API – צד השרת.
-
Octokit.NET – אינטגרציה עם API של GitHub.
-
Dependency Injection – לשיפור מודולריות ותחזוקת הקוד.
-
Caching (In-Memory עם דפוס Decorator) – לשיפור ביצועים.
-
Scrutor – רישום תלויות אוטומטי עם דקורטורים.
-
ניהול תצורה וסודות (Secrets Management) – לאבטחת נתוני הזדהות.
נתיב: GET /api/portfolio
- שליפת רשימת ה-repositories של המשתמש.
- הצגת נתונים כגון:
- שפות פיתוח בשימוש.
- רשימת ה-topics.
- תאריך ה-commit האחרון.
- מספר הכוכבים שקיבל ה-repository.
- מספר ה-pull requests וה-commits.
- קישור לאתר הפרויקט (אם קיים).
- קישור לפרויקט בגיטהאב.
- שימוש במנגנון Caching לשיפור ביצועים.
נתיב: GET /api/search?name={repoName}&language={language}&user={username}
- חיפוש repositories ציבוריים ב-GitHub.
- תמיכה במסננים:
- שם repository.
- שפת תכנות.
- שם משתמש ב-GitHub.
הפרויקט מחולק לשני חלקים עיקריים:
- שכבת השירות (Service Layer - Class Library) אחראית לתקשורת עם GitHub דרך Octokit.
- שכבת ה-Web API מספקת נקודות קצה (REST API).
- שימוש ב-Token אישי (PAT) של GitHub לקריאות API מאובטחות.
- שמירה מאובטחת של הנתונים באמצעות: Secrets.json.
- בפיתוח: שימוש בדפוס Options Pattern להזרקת הנתונים המאובטחים לService.
- שמירת נתונים בזיכרון (In-Memory Caching) להפחתת קריאות ל-GitHub API.
- ניקוי אוטומטי של ה-Cache כל מספר דקות כדי להבטיח עדכניות הנתונים.
--