Conheça o projeto
O objetivo deste desafio é criar uma API mínima de diagnóstico, responsável por validar e expor informações técnicas da aplicação, garantindo que os principais serviços estejam operacionais.
Instruções
Estrutura, regras e requisitos do projeto
Objetivo
A API deve disponibilizar um endpoint capaz de:
- Verificar se a conexão com o banco de dados está funcionando
- Informar o ambiente de execução da aplicação
- Expor a versão atual da aplicação
- Informar a data/hora de inicialização da aplicação
Requisitos Técnicos
A solução deve:
- Retornar o status da conexão com o banco de dados
- Expor a versão da aplicação
- Informar o ambiente atual (Development, Staging, Production, etc.)
- Registrar a data/hora em que a aplicação foi iniciada
- Não é necessário implementar regras de negócio, CRUD ou migrations
Utilizando o Repositório Oficial
Repositório base:
https://github.com/rocketseat-education/c-sharp-plan-share.git
Regras obrigatórias
- Realizar checkout no commit
a9d9e2a - Criar uma nova branch local
- Remover qualquer vínculo com o repositório original
Não sabe por onde começar? Segue a dica!
### 1. Clonar o repositório ```bash gitclone https://github.com/rocketseat-education/c-sharp-plan-share.gitcd c-sharp-plan-share ``` --- ### 2. Remover o repositório remoto original
Requisitos Funcionais
1. Endpoint de Diagnóstico
Criar um endpoint responsável por expor informações técnicas da aplicação.
Rota
GET/health/check
Exemplo de resposta
{ "version": "1.0.0.0", "environment": "Development", "databaseConnected": true, "applicationStartedAt": "2026-02-10T20:19:42.6432824Z" }
Critérios da resposta
version: versão atual da aplicaçãoenvironment: ambiente de execuçãodatabaseConnected: resultado da tentativa de conexão com o bancoapplicationStartedAt: data/hora de inicialização da aplicação
Banco de Dados
A aplicação deve:
- Utilizar o banco configurado durante as aulas
- Tentar abrir uma conexão no momento da requisição
- Informar se a conexão foi estabelecida com sucesso
Não é necessário:
- Criar tabelas
- Implementar CRUD
- Aplicar migrations
Por que é importante ter um endpoint de teste de saúde?
Um endpoint de saúde (health check) é fundamental para garantir a confiabilidade e a observabilidade da aplicação. Ele permite verificar rapidamente se a API está operacional e se seus serviços essenciais — como banco de dados, cache ou integrações externas — estão funcionando corretamente.
Esse tipo de endpoint é amplamente utilizado por:
- Orquestradores como Docker e Kubernetes para reiniciar automaticamente containers com falha
- Ferramentas de monitoramento (APM, Prometheus, etc.) para acompanhar disponibilidade
- Pipelines de deploy para validar se a aplicação subiu corretamente
- Times de infraestrutura para diagnóstico rápido em incidentes
Além disso, centralizar informações como versão, ambiente e data de inicialização facilita rastreamento de deploys, auditoria e troubleshooting.
Quero ir além…
Se você gostou de desenvolver uma validação basica de saúde e informações da aplicação, talvez goste de saber que no ecossistema .NET já existe suporte nativo para um health checks através do pacote: Microsoft.Extensions.Diagnostics.HealthChecks
Essa biblioteca te permite:
- Registrar verificações de saúde personalizadas
- Validar conexões com banco de dados (SQL Server, PostgreSQL, etc.)
- Integrar com sistemas de monitoramento
- Separar verificações de liveness (aplicação está viva) e readiness (aplicação está pronta para uso)
Habilite e aprenda a utilizar a solução Oficial! Segue um link para conhecer sobre: https://www.milanjovanovic.tech/blog/health-checks-in-asp-net-core
3. Desenvolvendo o projeto
Para desenvolver esse projeto, recomendamos utilizar as principais tecnologias que utilizamos durante o desenvolvimento do primeiro módulo da formação.
Caso você tenha alguma dificuldade você pode ir no nosso fórum e deixar sua dúvida por lá!
Após terminar o desafio, caso você queira, você pode tentar dar o próximo passo e deixar a aplicação com a sua cara. Tente mudar o layout, cores, ou até adicionar novas funcionalidades para ir além! 🚀
4. Entrega
Após concluir o desafio, você deve enviar a URL do seu código no Github.
Além disso, que tal fazer um post no LinkedIn compartilhando o seu aprendizado e contando como foi a experiência? É uma excelente forma de demonstrar seus conhecimentos e atrair novas oportunidades!
Obs: Se você se sentir à vontade, pode postar um print do resultado final e nos marcar! Vai ser incrível acompanhar a sua evolução! 💜
5. Considerações finais
Lembre-se que o intuito de um desafio é te impulsionar, por isso, dependendo do desafio, pode ser que você precise ir além do que foi discutido em sala de aula. Mas isso não é algo ruim: ter autonomia para buscar informações extras é uma habilidade muito valiosa e vai ser ótimo pra você treinar ela aqui com a gente!
E lembre-se: tenha calma! Enfrentar desafios faz parte do seu processo de aprendizado!
Se precisar de alguma orientação ou suporte, estamos aqui com você! Bons estudos e boa prática! 💜
Feito com 💜 por Rocketseat 👋
Objetivo
A API deve disponibilizar um endpoint capaz de:
- Verificar se a conexão com o banco de dados está funcionando
- Informar o ambiente de execução da aplicação
- Expor a versão atual da aplicação
- Informar a data/hora de inicialização da aplicação
Requisitos Técnicos
A solução deve:
- Retornar o status da conexão com o banco de dados
- Expor a versão da aplicação
- Informar o ambiente atual (Development, Staging, Production, etc.)
- Registrar a data/hora em que a aplicação foi iniciada
- Não é necessário implementar regras de negócio, CRUD ou migrations
Utilizando o Repositório Oficial
Repositório base:
https://github.com/rocketseat-education/c-sharp-plan-share.git
Regras obrigatórias
- Realizar checkout no commit
a9d9e2a - Criar uma nova branch local
- Remover qualquer vínculo com o repositório original
Não sabe por onde começar? Segue a dica!
### 1. Clonar o repositório ```bash gitclone https://github.com/rocketseat-education/c-sharp-plan-share.gitcd c-sharp-plan-share ``` --- ### 2. Remover o repositório remoto original
Requisitos Funcionais
1. Endpoint de Diagnóstico
Criar um endpoint responsável por expor informações técnicas da aplicação.
Rota
GET/health/check
Exemplo de resposta
{ "version": "1.0.0.0", "environment": "Development", "databaseConnected": true, "applicationStartedAt": "2026-02-10T20:19:42.6432824Z" }
Critérios da resposta
version: versão atual da aplicaçãoenvironment: ambiente de execuçãodatabaseConnected: resultado da tentativa de conexão com o bancoapplicationStartedAt: data/hora de inicialização da aplicação
Banco de Dados
A aplicação deve:
- Utilizar o banco configurado durante as aulas
- Tentar abrir uma conexão no momento da requisição
- Informar se a conexão foi estabelecida com sucesso
Não é necessário:
- Criar tabelas
- Implementar CRUD
- Aplicar migrations
Por que é importante ter um endpoint de teste de saúde?
Um endpoint de saúde (health check) é fundamental para garantir a confiabilidade e a observabilidade da aplicação. Ele permite verificar rapidamente se a API está operacional e se seus serviços essenciais — como banco de dados, cache ou integrações externas — estão funcionando corretamente.
Esse tipo de endpoint é amplamente utilizado por:
- Orquestradores como Docker e Kubernetes para reiniciar automaticamente containers com falha
- Ferramentas de monitoramento (APM, Prometheus, etc.) para acompanhar disponibilidade
- Pipelines de deploy para validar se a aplicação subiu corretamente
- Times de infraestrutura para diagnóstico rápido em incidentes
Além disso, centralizar informações como versão, ambiente e data de inicialização facilita rastreamento de deploys, auditoria e troubleshooting.
Quero ir além…
Se você gostou de desenvolver uma validação basica de saúde e informações da aplicação, talvez goste de saber que no ecossistema .NET já existe suporte nativo para um health checks através do pacote: Microsoft.Extensions.Diagnostics.HealthChecks
Essa biblioteca te permite:
- Registrar verificações de saúde personalizadas
- Validar conexões com banco de dados (SQL Server, PostgreSQL, etc.)
- Integrar com sistemas de monitoramento
- Separar verificações de liveness (aplicação está viva) e readiness (aplicação está pronta para uso)
Habilite e aprenda a utilizar a solução Oficial! Segue um link para conhecer sobre: https://www.milanjovanovic.tech/blog/health-checks-in-asp-net-core
3. Desenvolvendo o projeto
Para desenvolver esse projeto, recomendamos utilizar as principais tecnologias que utilizamos durante o desenvolvimento do primeiro módulo da formação.
Caso você tenha alguma dificuldade você pode ir no nosso fórum e deixar sua dúvida por lá!
Após terminar o desafio, caso você queira, você pode tentar dar o próximo passo e deixar a aplicação com a sua cara. Tente mudar o layout, cores, ou até adicionar novas funcionalidades para ir além! 🚀
4. Entrega
Após concluir o desafio, você deve enviar a URL do seu código no Github.
Além disso, que tal fazer um post no LinkedIn compartilhando o seu aprendizado e contando como foi a experiência? É uma excelente forma de demonstrar seus conhecimentos e atrair novas oportunidades!
Obs: Se você se sentir à vontade, pode postar um print do resultado final e nos marcar! Vai ser incrível acompanhar a sua evolução! 💜
5. Considerações finais
Lembre-se que o intuito de um desafio é te impulsionar, por isso, dependendo do desafio, pode ser que você precise ir além do que foi discutido em sala de aula. Mas isso não é algo ruim: ter autonomia para buscar informações extras é uma habilidade muito valiosa e vai ser ótimo pra você treinar ela aqui com a gente!
E lembre-se: tenha calma! Enfrentar desafios faz parte do seu processo de aprendizado!
Se precisar de alguma orientação ou suporte, estamos aqui com você! Bons estudos e boa prática! 💜
Feito com 💜 por Rocketseat 👋
Resolução
Confira os resultados esperados do projeto

Envie o projeto para ver a resolução
Ao enviar seu projeto, você poderá conferir os resultados esperados