Aprimoramento em C#: 7 projetos para portfólio que impressionarão o empregador

Treinador Online de Python para Iniciantes

Aprenda Python facilmente sem sobrecarga teórica. Resolva tarefas práticas com verificação automática e escreva código diretamente no navegador.

Start Course

Por que seu portfólio em C# decide tudo, ou Como não se perder entre centenas de currículos

\n\n

Você aprendeu a sintaxe, entendeu de classes, interfaces e até escreveu alguns programas de console. Parabéns, você deixou de ser um "zero". Mas o problema é: para uma vaga de desenvolvedor Junior C#, chegam 50 a 100 candidaturas. Como o RH ou o tech lead vai perceber que você é aquele diamante, e não mais um "garantia de emprego" de cursos?

\n\n

A resposta é simples: seu portfólio em C#. Não uma lista de tecnologias, mas projetos vivos que podem ser tocados (ou pelo menos executados localmente). Neste artigo, reuni 7 ideias para portfólio de desenvolvedor C# — do simples ao nível médio de dificuldade. Cada ideia não é apenas "faça uma calculadora", mas um caso completo com explicações sobre por que é legal e qual código escrever.

\n\n

Critérios de seleção: o que torna um projeto "melhor" para o portfólio

\n\n

Antes de mergulhar no código, vamos combinar: o projeto no portfólio deve resolver três tarefas:

\n
    \n
  • Mostrar domínio do stack — não apenas C#, mas ASP.NET Core, Entity Framework, trabalho com API.
  • \n
  • Demonstrar compreensão de arquitetura — padrões, SOLID, separação de responsabilidades.
  • \n
  • Resolver um problema real — mesmo que seja um utilitário para você, ele deve ser útil.
  • \n
\n\n

Intencionalmente não incluí aqui "Lista de Tarefas" ou "Calculadora" — isso é básico, que já não impressiona ninguém. Vamos lá!

\n\n

1. Bot do Telegram para gerenciamento de tarefas (com lembretes)

\n\n

Bots do Telegram são o formato ideal para portfólio. São compactos, visualmente compreensíveis e trabalham com API real. Seu bot receberá comandos, salvará tarefas no banco de dados e enviará lembretes.

\n\n

Por que isso é legal:

\n
    \n
  • Trabalho com API externa (Telegram Bot API).
  • \n
  • Tarefas em segundo plano (Hangfire ou BackgroundService).
  • \n
  • Entity Framework Core + SQLite (ou PostgreSQL).
  • \n
\n\n

Exemplo de código: iniciando serviço em segundo plano para lembretes

\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                    // Envio de mensagem via TelegramClient\n                    await SendTelegramMessage(task.UserId, $"Lembrete: {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

Dica: adicione os comandos /start, /add, /list, /done. E obrigatoriamente — um Dockerfile, para que o bot seja iniciado com um clique.

\n\n

2. Parser de páginas web com exportação para Excel

\n\n

Crie um aplicativo de console que faça parsing, por exemplo, de produtos do Ozon ou Wildberries (ou qualquer outro site) e salve o resultado em um arquivo .xlsx. Isso mostrará que você sabe trabalhar com HTML, HTTP e bibliotecas como EPPlus ou ClosedXML.

\n\n

O que usamos:

\n
    \n
  • HttpClient para requisições.
  • \n
  • HtmlAgilityPack ou AngleSharp para parsing.
  • \n
  • EPPlus para geração de Excel.
  • \n
\n\n

Exemplo de código: parsing de títulos

Blogs

Book Recommendations