Skip to content

Neste projeto foi desenvolvida uma API que se conecta a um banco de dados para gerenciar uma rede social.

Notifications You must be signed in to change notification settings

brenndha-cabral/tryitter

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

56 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Projeto Tryitter 🐦

Índice

📍 Sobre
📍 Tecnologias
📍 Usabilidade
📍 Documentação
📍 Orientações
📍 Scripts
📍 Testes
📍 DER
📍 Referências

Sobre

Esta aplicação tem como objetivo gerenciar uma rede social 📱

  • Esta é uma aplicação em .NET com Entity Framework que realiza um CRUD de contas e posts. Infelizmente não foi possível realizar o deploy na Azure, consulte a seção documentação para entender melhor.
  • Esta aplicação seguiu os princípios do REST e se conecta ao banco de dados MySQL Server.
  • Para acessar a API, é necessário que a pessoa usuária faça login com suas credencias e isso será autenticado e autorizado via JWT com a geração de token.
  • É possível também que a pessoa usuária possa se cadastrar e utilizar a API, a partir disso é gerado um token para acesso a API.

Tecnologias

C# .NET Entity Framework JWT Entity Framework xUnit

Usabilidade

Veja a seção de documentação para entender melhor como funcionam as rotas. Veja a seção de orientações antes de rodar a aplicação.

📍 Acessando o local pelo Swagger:

Faça um clone deste repositório:

  • git@github.com:brenndha-cabral/tryitter.git

Navegue até a pasta do projeto tryitter.csproj e rode os scripts dotnet restore, dotnet ef database update e dotnet run (lembrando que o docker-compose já deve estar iniciado).

Após rodar a aplicação, você deverá acessar através de:

  • https://localhost:7136/swagger/index.html

Caso prefira outro cliente, aqui estão algumas sugestões: :bulb: HTTPie | 💡 Postman | 💡 Insomnia

Documentação

📝 Clique aqui e veja a aplicação rodando
aplicacao.mp4
Swagger

ℹ️ É necessário possuir dotnet, dotnet ef, docker e docker-compose instalados para rodar a aplicação localmente e abrir o Swagger com os endpoints e orientações.

Caso não tenha conhecimento em Swagger, clique aqui e veja como é fácil utilizar.

  • Motivo por não ter realizado o deploy: Criei a conta na Azure mas infelizmente não sou elegível para testar gratuitamente. Informei à Trybe o ocorrido.

  • Para que a as rotas sejam consumidas, é necessário que a pessoa usuária faça login.

  • Para fazer login, clique em Try it out e com as credenciais de uma pessoa estudante (crie uma na rota POST /students previamente) e em seguida clique em execute, a aplicação retornará um token.

  • Após o login, o token retornado deve ser inserido em Authorize e isso fará com que haja a autenticação e autorização para todas as rotas.

  • Após isso, o token já será validado em todas as rotas. Siga os exemplos e clique em execute para retornar as respostas.

  • Exceto a rota POST /students que não necessita de login, neste caso após o cadastro, será retornado um token para então a utilização da API.

Orientações

🐋 Rodando com Docker

👉 Com Docker

ℹ️ Rode o serviço db com o comando docker-compose up.

  • Esse comando irá inicializar um container chamado sql_server_db;

ℹ️ Ao rodar o docker-compose, ele criará uma imagem do banco de dados MySQL Server.

Scripts

📝 Aqui estão os scripts da aplicação para que você possa utilizar
  • dotnet restore: Irá instalar os pacotes NuGets;

  • dotnet ef database update: Irá criar o banco de dados localmente;

  • dotnet run: Irá rodar a aplicação;

  • dotnet test: Irá rodar todos os testes de integração da aplicação;

Sinta-se à vontade para ajustar os scripts de acordo com a sua necessidade.

Testes

🧪 Foram realizados testes de integração para atingir a cobertura mínima de 30%

Foram realizados testes de integração com xUnit e Fluent Assertions. Não consegui fazer o mock do banco de dados, por isso os testes foram realizados em cima do banco de dados de desenvolvimento.

Relatório de cobertura de testes Relatório de cobertura de testes

Diagrama Entidade Relacionamento

📈 Students | Posts
Diagrama Entidade Relacionamento

Referências

ℹ️ Este projeto foi a realização de um projeto final da aceleração de C# da Trybe em parceria com a XP Inc.

About

Neste projeto foi desenvolvida uma API que se conecta a um banco de dados para gerenciar uma rede social.

Topics

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages