/Projeto-Tryitter

API para aplicativo de rede social como projeto final da aceleração de C#.

Primary LanguageC#

API para aplicativo de rede social 🐤

Esse projeto foi realizado para o desafio final da aceleração de C#. A api permite:

  • Listar informações da conta do cliente e dos posts
  • Realizar operações de postar, atualizar e deletar post
  • Realizar login e criar conta;
  • Ser utilizada para se comunicar com o front de um aplicativo de rede social

Lista de conteúdo 📄

  • Tecnologia e tomada de decisão
  • Instalação
  • Executando aplicação
  • Testes e Cobertura
  • Deploy no Azure
  • Documentação Swagger
  • Diagramas
  • 3 Aprendizados

Tecnologias utilizadas e tomada de decisão ✔️

O projeto foi desenvolvido com a arquitetura MSC (Model, Service, Controller), possibilitando que cada camada execute sua responsabilidade.

As tecnologias utilizadas foram as aprendidas até aqui como o ASP .NET com C#, o ORM Entity Framework e o SQL Server.

alt text alt text alt text

Para realizar os testes foram utilizadas as bibliotecas xUnit, FluentAssertions e pacote inMemory do Entity Framework para simular um banco de dados em execução.

Outras tecnologias utilizadas foram o JWT para fazer autenticação nas rotas e a Azure para o deploy.

alt text alt text

Instalação ✔️

Para instalar o projeto

git clone git@github.com:missias1/Projeto-Tryitter.git
cd Projeto-Tryitter
dotnet restore

Executando aplicação ✔️

Rode o comando abaixo para inicializar a aplicação.

  dotnet run

Testes e Cobertura ✔️

Para rodar os testes, rode o seguinte comando

  dotnet test

Os testes estão com 84% de cobertura.

Foi realizado o deploy da aplicação no Azure, utilizando o banco de dados Sql Server da Azure.

  https://tryitter-project.azurewebsites.net/

Para testar os endpoints, é necessário utilizar uma API Client como o Insomnia ou Postman.

Assim é possível enviar requisições de POST, PUT, DELETE e acessar as rotas que exigem autenticação.

É possível realizar as operações de CRUD por meio do Swagger:

  https://tryitter-project.azurewebsites.net/swagger/index.html

Diagramas ✔️

Foi feita uma abordagem mais simples para lidar com o banco de dados. O foco foi listar as atividades que o usuário pode realizar em sua conta, bem como as ações que pode tomar para realizar determinada publicação.

Ações que o usuário pode realizar

Relação das tabelas

3 Aprendizados

  • O debugger do Visual Studio é seu melhor amigo
  • Não há a forma mais correta e sim a forma mais adequada de se fazer algo
  • Se deparar com erros são importante para o seu desenvolvimento