مشروع Python متوسط | تطبيق عملي باستخدام OOP والملفات

15:00 دقائق مجاني
مشروع تطبيقي متوسط في Python يدمج البرمجة الكائنية والملفات وتنظيم الكود وربط API بشكل مبسط

سننفذ مشروع “متتبع مستخدمين” بسيط: يخزن مستخدمين في JSON، ويقدر يجلب معلومة من API (اختياري) ويعرضها. الهدف: تطبيق تنظيم مشروع + OOP + تخزين.

تصميم الكلاسات

  • User: name, email
  • UserManager: add, list, save, load

كلاس User


class User:
    def __init__(self, name, email):
        self.name = name
        self.email = email

    def to_dict(self):
        return {"name": self.name, "email": self.email}

كلاس UserManager (حفظ/تحميل)


import json

class UserManager:
    def __init__(self, path="users.json"):
        self.path = path
        self.users = []

    def add(self, user):
        self.users.append(user)

    def save(self):
        data = [u.to_dict() for u in self.users]
        with open(self.path, "w", encoding="utf-8") as f:
            json.dump(data, f, ensure_ascii=False, indent=2)

    def load(self):
        try:
            with open(self.path, "r", encoding="utf-8") as f:
                data = json.load(f)
                self.users = [User(x["name"], x["email"]) for x in data]
        except FileNotFoundError:
            self.users = []

واجهة Console بسيطة


mgr = UserManager()
mgr.load()

while True:
    print("1) إضافة مستخدم")
    print("2) عرض المستخدمين")
    print("3) حفظ وخروج")
    c = input("اختر: ")

    if c == "1":
        n = input("الاسم: ")
        e = input("الإيميل: ")
        mgr.add(User(n, e))
    elif c == "2":
        for u in mgr.users:
            print(u.name, "-", u.email)
    elif c == "3":
        mgr.save()
        break

تطوير اختياري: ربط API

كمستوى متوسط: يكفي تفهم فكرة الطلب وجلب JSON. تقدر تربط API بسيط لجلب معلومات عامة وتعرضها داخل البرنامج.

ماذا بعد هذا الدرس؟

الدرس القادم: أفضل الممارسات وتحسين الكود

سنرتب الكود ونكتب بشكل “احترافي”.