Skip to content

Repository files navigation

DevConnect - רשת חברתית למתכנתים

רשת חברתית המיועדת למתכנתים לשיתוף קוד, פרויקטים ורעיונות.

תכונות עיקריות

  • יצירת פרופיל מפתח עם קישורים לגיטהאב, לינקדאין ואתר אישי
  • שיתוף פוסטים עם קטעי קוד בהדגשת תחביר
  • מעקב אחר מפתחים אחרים
  • לייקים ותגובות לפוסטים
  • חיפוש פוסטים לפי שפת תכנות או תוכן
  • התראות בזמן אמת

טכנולוגיות

  • צד שרת: Django, Django REST Framework, JWT
  • בסיס נתונים: PostgreSQL (SQLite לפיתוח)
  • אבטחה: CSRF Protection, JWT Authentication

התקנה

דרישות מקדימות

  • Python 3.8+
  • pip
  • virtualenv (מומלץ)

שלבי התקנה

  1. שכפל את המאגר:
git clone https://github.com/yourusername/devconnect.git
cd devconnect
  1. צור והפעל סביבה וירטואלית:
python -m venv venv
source venv/bin/activate  # Linux/Mac
venv\Scripts\activate     # Windows
  1. התקן את החבילות הנדרשות:
pip install -r requirements.txt
  1. צור קובץ .env בתיקיית הפרויקט הראשית והגדר את המשתנים הבאים:
SECRET_KEY=your-secret-key
DEBUG=True
ALLOWED_HOSTS=127.0.0.1,localhost

# Database Settings
DB_ENGINE=django.db.backends.sqlite3
DB_NAME=db.sqlite3
DB_USER=
DB_PASSWORD=
DB_HOST=
DB_PORT=

# CORS Settings
CORS_ALLOWED_ORIGINS=http://localhost:3000,http://127.0.0.1:3000
CSRF_TRUSTED_ORIGINS=http://localhost:3000,http://127.0.0.1:3000

# Security
CSRF_COOKIE_SECURE=False
CSRF_COOKIE_HTTPONLY=False
  1. בצע מיגרציות:
python manage.py migrate
  1. צור משתמש אדמין:
python manage.py createsuperuser
  1. הפעל את השרת:
python manage.py runserver

API Endpoints

אותנטיקציה

  • POST /api/auth/token/ - קבלת JWT token
  • POST /api/auth/token/refresh/ - רענון JWT token
  • POST /api/auth/token/verify/ - אימות JWT token

משתמשים

  • GET /api/users/ - רשימת משתמשים
  • POST /api/users/ - יצירת משתמש חדש
  • GET /api/users/{id}/ - פרטי משתמש
  • PATCH /api/users/{id}/ - עדכון משתמש
  • GET /api/users/{id}/posts/ - פוסטים של משתמש
  • GET /api/users/{id}/followers/ - עוקבים של משתמש
  • GET /api/users/{id}/following/ - משתמשים שהמשתמש עוקב אחריהם
  • POST /api/users/{id}/follow/ - עקיבה אחרי משתמש
  • POST /api/users/{id}/unfollow/ - הפסקת מעקב אחרי משתמש

פוסטים

  • GET /api/posts/ - רשימת פוסטים
  • POST /api/posts/ - יצירת פוסט חדש
  • GET /api/posts/{id}/ - פרטי פוסט
  • PATCH /api/posts/{id}/ - עדכון פוסט
  • DELETE /api/posts/{id}/ - מחיקת פוסט
  • POST /api/posts/{id}/like/ - לייק לפוסט
  • POST /api/posts/{id}/unlike/ - הסרת לייק מפוסט
  • GET /api/posts/{id}/comments/ - תגובות לפוסט

תגובות

  • POST /api/comments/ - יצירת תגובה חדשה
  • PATCH /api/comments/{id}/ - עדכון תגובה
  • DELETE /api/comments/{id}/ - מחיקת תגובה
  • GET /api/comments/{id}/replies/ - תגובות לתגובה

שפות תכנות

  • GET /api/programming-languages/ - רשימת שפות תכנות
  • POST /api/programming-languages/ - הוספת שפת תכנות חדשה (admin only)
  • PATCH /api/programming-languages/{id}/ - עדכון שפת תכנות (admin only)
  • DELETE /api/programming-languages/{id}/ - מחיקת שפת תכנות (admin only)

בדיקות

להרצת בדיקות:

pytest

לבדיקת כיסוי קוד:

coverage run -m pytest
coverage report

רישיון

פרויקט זה מופץ תחת רישיון MIT. ראה קובץ LICENSE לפרטים נוספים.

About

No description, website, or topics provided.

Resources

Stars

0 stars

Watchers

1 watching

Forks

Releases

Packages

Used by

Contributors

Languages