API RESTful desenvolvida em .NET 9 para criar um serviço pessoal de "Read-it-Later", permitindo salvar e gerenciar links de artigos, vídeos e outros conteúdos da web para consumo posterior.
Este projeto nasceu da necessidade pessoal de organizar a grande quantidade de links interessantes que encontro diariamente. Em vez de deixá-los perdidos em abas do navegador ou em blocos de notas, criei esta API para centralizar, categorizar e gerenciar todo esse conteúdo de forma simples e eficiente.
O foco é ter um backend robusto e escalável que sirva como base para futuras aplicações cliente (web, mobile, etc.).
- Salvar Links: Endpoint para adicionar novos links com URL, título e descrição.
- Listar Conteúdo: Endpoint para visualizar todos os links salvos, ordenados por data de adição.
- Marcar como Lido: Funcionalidade para marcar um link como consumido.
- Deletar Links: Endpoint para remover links da lista.
- Documentação Interativa: Interface do Swagger para visualizar e testar todos os endpoints facilmente.
- .NET 9: Framework principal para a construção da API.
- ASP.NET Core: Para a criação de endpoints RESTful.
- Entity Framework Core 8: ORM para a comunicação com o banco de dados.
- SQLite: Banco de dados local utilizado para persistência dos dados.
- Swagger (Swashbuckle): Para documentação e testes da API.
Siga os passos abaixo para ter uma cópia do projeto rodando na sua máquina.
- .NET 9 SDK
- Git
- Um editor de código de sua preferência (VS Code, Visual Studio, Rider)
-
Clone o repositório:
git clone [https://github.com/MatheusMW21/content-hub-api.git](https://github.com/MatheusMW21/content-hub-api.git)
-
Navegue até a pasta do projeto:
cd content-hub-api -
Instale as dependências do .NET:
dotnet restore
-
Aplique as migrações do Entity Framework para criar o banco de dados:
dotnet ef database update
-
Execute a aplicação:
dotnet run
-
Acesse a documentação Swagger no seu navegador para testar os endpoints:
https://localhost:PORTA/swagger(a porta será indicada no seu terminal, ex: 7001).
O projeto possui uma suíte de testes automatizados para garantir a qualidade e a estabilidade do código.
- Testes de Unidade: Utilizando xUnit e Moq para testar os serviços de forma isolada.
- Testes de Integração: Utilizando
WebApplicationFactorye uma base de dados SQLite em memória para testar o fluxo completo dos endpoints da API, incluindo a camada de autenticação e o acesso a dados.
A API está implantada no Microsoft Azure e pode ser testada através da documentação do Swagger no link abaixo:
https://wirtzcontenthubapi.azurewebsites.net/swagger