Skip to content

MatheusMW21/ContentHubAPI

Repository files navigation

Hub de Conteúdo Pessoal (ContentHub API)

.NET C# License

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.

Sobre o Projeto

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.).

Funcionalidades

  • 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.

Tecnologias Utilizadas

Como Executar Localmente

Siga os passos abaixo para ter uma cópia do projeto rodando na sua máquina.

Pré-requisitos

  • .NET 9 SDK
  • Git
  • Um editor de código de sua preferência (VS Code, Visual Studio, Rider)

Passos para Instalação

  1. Clone o repositório:

    git clone [https://github.com/MatheusMW21/content-hub-api.git](https://github.com/MatheusMW21/content-hub-api.git)
  2. Navegue até a pasta do projeto:

    cd content-hub-api
  3. Instale as dependências do .NET:

    dotnet restore
  4. Aplique as migrações do Entity Framework para criar o banco de dados:

    dotnet ef database update
  5. Execute a aplicação:

    dotnet run
  6. 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).

Testes

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 WebApplicationFactory e 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.

API no ar

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


Autor

LinkedIn GitHub

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published