- למידה מותאמת אישית – כל משתמש בוחר קטגוריה ותת־קטגוריה, שולח שאלה ומקבל שיעור שנוצר ע"י AI (OpenAI GPT).
- היסטוריית למידה – כל שיעור נשמר, ניתן לחזור ולעיין בו בכל רגע.
- לוח מנהל מתקדם – צפייה בכל המשתמשים, כל הפרומפטים, כולל חיפוש, מיון ודפדוף.
- אבטחה מלאה – כל פעולה דורשת JWT Token, כולל הרשאות מנהל.
- UI מודרני ונגיש – RTL, רספונסיבי, עם חוויית משתמש נעימה.
- קוד מודולרי – הפרדה מלאה בין שכבות (API, שירותים, מודלים, תצורה).
- תיעוד מלא – קבצי .env לדוגמה, ולידציה, ניהול שגיאות, Best Practices.
- רישום משתמש חדש (כולל אימות טלפון, שמירת שם, קבלת JWT).
- בחירת קטגוריה ותת־קטגוריה מתוך רשימה דינמית.
- שליחת prompt ל־AI וקבלת שיעור מותאם אישית.
- היסטוריית למידה – גישה לכל השיעורים שנוצרו.
- לוח מנהל – ניהול משתמשים וצפייה בפרומפטים עם חיפוש ודפדוף.
- אימות משתמשים עם JWT – כל קריאה ל־API מוגנת.
- ניהול שגיאות, ולידציה, והודעות ברורות למשתמש.
Frontend: React, TypeScript, Vite, TailwindCSS
Backend: Python 3.11+, FastAPI, PyMongo, python-jose (JWT), dotenv
Database: MongoDB Atlas (ענן)
AI Integration: OpenAI GPT API (או Mock)
Authentication: JWT Authentication
תיעוד: Swagger (אוטומטי ב־FastAPI)
- צרו חשבון ב־MongoDB Atlas.
- צרו Cluster, Database ו־Collection.
- העתיקו את ה־Connection String.
cd backend
python -m venv venv
source venv/bin/activate # ב-Windows: venv\Scripts\activate
pip install -r requirements.txtעדכנו קובץ .env לפי .env.example:
MONGO_URI=your_mongo_atlas_uri
OPENAI_API_KEY=your_openai_api_key
SECRET_KEY=your_super_secret_keyהרצת השרת:
uvicorn main:app --reloadcd frontend
npm installעדכנו קובץ .env לפי .env.example (כתובת ה־API אם צריך).
הרצת הפרונט:
npm run devכל משתמש שנרשם מקבל JWT Token מהשרת.
כל קריאה ל־API (שליחת prompt, היסטוריה, לוח מנהל) דורשת Header:
Authorization: Bearer <token>השרת בודק את ה־Token ומאפשר גישה רק למורשים.
- ישראל נרשם עם שם וטלפון.
- בוחר קטגוריה: "מדע" ותת־קטגוריה: "אסטרונומיה".
- שולח prompt: "Teach me about black holes".
- ה־AI מחזיר שיעור מותאם אישית.
- ישראל צופה בשיעור וכל ההיסטוריה נשמרת.
- המנהל רואה את כל המשתמשים והפרומפטים בלוח הבקרה.
- קוד מודולרי, קריא, עם הפרדה בין שכבות.
- כל קוד רגיש נשמר בקובץ .env.
- כל קריאה ל־API מוגנת ב־JWT.
- ולידציה ובדיקות שגיאות בכל שכבה.
- תיעוד אוטומטי ב־/docs (Swagger).
- כל הפיצ'רים נבדקו מקצה לקצה.
- ניתן להוסיף בדיקות אוטומטיות עם pytest (Backend) ו־jest (Frontend).
