تطوير مهارات C#: 7 مشاريع لملف الأعمال (بورتفوليو) ستبهر صاحب العمل

مدرب بايثون أونلاين للمبتدئين

تعلم Python بسهولة دون إرهاق نظري. حل مهام عملية مع التحقق التلقائي واكتب الكود مباشرة في المتصفح.

ابدأ الدورة

لماذا يحدد ملف أعمالك (بورتفوليو) بلغة C# كل شيء، أو كيف لا تضيع بين مئات السير الذاتية

\n\n

لقد تعلمت بناء الجملة (Syntax)، وأتقنت التعامل مع الكلاسات (Classes) والواجهات (Interfaces)، بل وكتبت بضعة برامج لوحدة التحكم (Console). تهانينا، لقد توقفت عن كونك "مبتدئًا صفريًا". لكن المشكلة: على وظيفة مطور C# مبتدئ (Junior) واحدة، يأتي 50 إلى 100 متقدم. كيف سيدرك مسؤول الموارد البشرية (HR) أو القائد التقني (Tech Lead) أنك الماسة التي يبحثون عنها، وليس مجرد "ضمان توظيف" آخر من دورة تدريبية؟

\n\n

الإجابة بسيطة: ملف أعمالك (بورتفوليو) بلغة C#. ليس قائمة بالتقنيات، بل مشاريع حية يمكن لمسها (أو على الأقل تشغيلها محليًا). في هذا المقال، جمعت 7 أفكار لملف أعمال (بورتفوليو) لمطور C# - من البسيطة إلى المتوسطة التعقيد. كل فكرة ليست مجرد "اصنع آلة حاسبة"، بل حالة دراسية متكاملة مع شرح لسبب روعتها وأي كود يجب كتابته.

\n\n

معايير الاختيار: ما الذي يجعل المشروع "الأفضل" لملف الأعمال (بورتفوليو)

\n\n

قبل الاندفاع نحو الكود، دعنا نتفق: المشروع في ملف الأعمال (بورتفوليو) يجب أن يحل ثلاث مهام:

\n
    \n
  • يظهر إتقان مجموعة التقنيات (Stack) - ليس فقط C#، بل ASP.NET Core، Entity Framework، والعمل مع API.
  • \n
  • يظهر فهم الهندسة المعمارية (Architecture) - الأنماط (Patterns)، SOLID، فصل المسؤوليات (Separation of Concerns).
  • \n
  • يحل مشكلة حقيقية - حتى لو كانت أداة للاستخدام الشخصي، يجب أن تكون مفيدة.
  • \n
\n\n

لقد تعمدت عدم تضمين "قائمة المهام (To-Do List)" أو "الآلة الحاسبة" - فهذه أساسيات لم تعد تبهر أحدًا. هيا بنا!

\n\n

1. بوت Telegram لإدارة المهام (مع تذكيرات)

\n\n

بوتات Telegram هي الشكل المثالي لملف الأعمال (بورتفوليو). فهي مضغوطة، واضحة بصريًا، وتعمل مع API حقيقي. سيقبل بوتك الأوامر، ويحفظ المهام في قاعدة بيانات، ويرسل تذكيرات.

\n\n

لماذا هذا رائع:

\n
    \n
  • العمل مع API خارجي (Telegram Bot API).
  • \n
  • المهام الخلفية (Hangfire أو BackgroundService).
  • \n
  • Entity Framework Core + SQLite (أو PostgreSQL).
  • \n
\n\n

مثال كود: تشغيل خدمة خلفية للتذكيرات

\n
public class ReminderService : BackgroundService\n{\n    private readonly IServiceProvider _services;\n    private readonly ILogger<ReminderService> _logger;\n\n    public ReminderService(IServiceProvider services, ILogger<ReminderService> logger)\n    {\n        _services = services;\n        _logger = logger;\n    }\n\n    protected override async Task ExecuteAsync(CancellationToken stoppingToken)\n    {\n        while (!stoppingToken.IsCancellationRequested)\n        {\n            using (var scope = _services.CreateScope())\n            {\n                var db = scope.ServiceProvider.GetRequiredService<AppDbContext>();\n                var now = DateTime.UtcNow;\n                var dueTasks = db.Tasks.Where(t => t.DueDate <= now && !t.IsNotified).ToList();\n\n                foreach (var task in dueTasks)\n                {\n                    // إرسال رسالة عبر TelegramClient\n                    await SendTelegramMessage(task.UserId, $"تذكير: {task.Title}");\n                    task.IsNotified = true;\n                }\n                await db.SaveChangesAsync();\n            }\n            await Task.Delay(TimeSpan.FromMinutes(1), stoppingToken);\n        }\n    }\n}\n
\n\n

نصيحة: أضف الأوامر /start, /add, /list, /done. وبالتأكيد - ملف Dockerfile، ليتم تشغيل البوت بزر واحد.

\n\n

2. محلل (Parser) لصفحات الويب مع تصدير إلى Excel

\n\n

قم بإنشاء تطبيق وحدة تحكم (Console Application) يقوم بتحليل (Parsing)، على سبيل المثال، منتجات من Ozon أو Wildberries (أو أي موقع آخر) ويحفظ النتيجة في ملف .xlsx. سيظهر هذا أنك تتقن العمل مع HTML و HTTP والمكتبات مثل EPPlus أو ClosedXML.

\n\n

ما نستخدمه:

\n
    \n
  • HttpClient للطلبات (Requests).
  • \n
  • HtmlAgilityPack أو AngleSharp للتحليل (Parsing).
  • \n
  • EPPlus لإنشاء ملفات Excel.
  • \n
\n\n

مثال كود: تحليل (Parsing) العناو

المدونات

توصيات الكتب