C#-Projekte fürs Portfolio: 7 Projekte, die Arbeitgeber beeindrucken

Online Python-Trainer für Anfänger

Lernen Sie Python einfach ohne theoretische Überlastung. Lösen Sie praktische Aufgaben mit automatischer Überprüfung und schreiben Sie Code direkt im Browser.

Kurs starten

Warum Ihr C#-Portfolio alles entscheidet, oder Wie Sie nicht in der Masse der Lebensläufe untergehen

\n\n

Sie haben die Syntax gelernt, sich mit Klassen, Interfaces und sogar ein paar Konsolenprogrammen vertraut gemacht. Herzlichen Glückwunsch, Sie sind kein "Anfänger" mehr. Aber hier ist das Problem: Auf eine Junior C#-Entwickler-Stelle kommen 50–100 Bewerbungen. Wie soll ein HR-Mitarbeiter oder Tech-Lead erkennen, dass Sie der eine Diamant sind und nicht nur ein weiterer "Arbeitsplatzgarant" aus einem Kurs?

\n\n

Die Antwort ist einfach: Ihr C#-Portfolio. Keine Liste von Technologien, sondern lebendige Projekte, die man anfassen (oder zumindest lokal ausführen) kann. In diesem Artikel habe ich 7 Ideen für ein C#-Entwickler-Portfolio zusammengestellt – von einfach bis mittelschwer. Jede Idee ist nicht nur ein "mach einen Taschenrechner", sondern ein vollwertiger Anwendungsfall mit Erklärungen, warum er cool ist und welcher Code geschrieben werden soll.

\n\n

Auswahlkriterien: Was macht ein Projekt zum "Besten" fürs Portfolio

\n\n

Bevor wir uns in den Code stürzen, lassen Sie uns vereinbaren: Ein Projekt im Portfolio sollte drei Aufgaben erfüllen:

\n
    \n
  • Beherrschung des Stacks zeigen – nicht nur C#, sondern ASP.NET Core, Entity Framework, Arbeit mit APIs.
  • \n
  • Verständnis der Architektur demonstrieren – Patterns, SOLID, Aufgabentrennung.
  • \n
  • Ein reales Problem lösen – selbst wenn es ein Dienstprogramm für den Eigenbedarf ist, sollte es nützlich sein.
  • \n
\n\n

Ich habe bewusst "To-Do-Liste" oder "Taschenrechner" weggelassen – das sind Basics, die niemanden mehr beeindrucken. Los geht's!

\n\n

1. Telegram-Bot zur Aufgabenverwaltung (mit Erinnerungen)

\n\n

Telegram-Bots sind das ideale Format für ein Portfolio. Sie sind kompakt, visuell verständlich und arbeiten mit einer echten API. Ihr Bot wird Befehle entgegennehmen, Aufgaben in einer Datenbank speichern und Erinnerungen senden.

\n\n

Warum das cool ist:

\n
    \n
  • Arbeit mit einer externen API (Telegram Bot API).
  • \n
  • Hintergrundaufgaben (Hangfire oder BackgroundService).
  • \n
  • Entity Framework Core + SQLite (oder PostgreSQL).
  • \n
\n\n

Beispielcode: Starten eines Hintergrunddienstes für Erinnerungen

\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                    // Senden einer Nachricht über TelegramClient\n                    await SendTelegramMessage(task.UserId, $"Erinnerung: {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

Tipp: Fügen Sie die Befehle /start, /add, /list, /done hinzu. Und unbedingt eine Dockerfile, damit der Bot mit einem Klick gestartet werden kann.

\n\n

2. Webseiten-Parser mit Export nach Excel

\n\n

Erstellen Sie eine Konsolenanwendung, die z. B. Produkte von Ozon oder Wildberries (oder einer anderen Website) parst und das Ergebnis in einer .xlsx-Datei speichert. Das zeigt, dass Sie mit HTML, HTTP und Bibliotheken wie EPPlus oder ClosedXML umgehen können.

\n\n

Was wir verwenden:

\n
    \n
  • HttpClient für Anfragen.
  • \n
  • HtmlAgilityPack oder AngleSharp zum Parsen.
  • \n
  • EPPlus zum Generieren von Excel.
  • \n
\n\n

Beispielcode: Parsen von Überschriften

Blogs

Buchempfehlungen