TamirisShigaki / Tryitter

Tryitter é uma rede social, totalmente baseada em texto.

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

Tryitter

Contexto

Projeto Final - Aceleração em .NET C#


O objetivo é proporcionar um ambiente em que as pessoas estudantes poderão, por meio de textos e imagens, compartilhar suas experiências e também acessar posts que possam contribuir para seu aprendizado.💚

Tryitter é uma rede social, totalmente baseada em texto.

As seguintes regras de negócio foram utilizadas para a construção dessa aplicação
  • As pessoas estudantes devem conseguir se cadastrar com nome, e-mail, status personalizado e senha para se autenticar.

  • Deve ser possível também alterar essa conta a qualquer momento, desde que a pessoa usuária esteja autenticada.

  • Uma pessoa estudante deve poder também publicar posts em seu perfil, que poderão conter texto com até 300 caracteres e arquivos de imagem

  • Além de conseguir pesquisar outras contas por nome e optar por listar todos seus posts ou apenas o último.


📑 Tecnologias utilizadas


  • ASP.NET - Utilizada na construção da API.

  • JWT - Ferramenta de autenticação de dados.

  • SQL Server - Banco de Dados.

  • FluentAssertions - Ferramenta de construção de testes.

  • XUnit - Ferramenta de construção de testes.

  • Azure - Ferramenta de deploy.

  • StyleCop analyzers - Mantém um padrão de código na aplicação (Lint).


⚙️ Como iniciar o projeto localmente


Vamos começar clonado o repositório, para isso utilize o comando a seguir:

git clone git@github.com:TamirisShigaki/Tryitter.git

Após ter clonado o repositório entre na pasta raiz do projeto `src/tryitter` :
cd src/tryitter

Em seguida execute o seguinte comando para fazer a instalação de todas as dependências:
dotnet restore

dotnet run

🧪 Execução dos Testes


Todos os Testes

Entre na pasta de teste do projeto src/tryitter.test e em seguida execute o seguinte comando para fazer a instalação de todas as dependências:

dotnet restore

E execute o seguinte comando: (Isso irá executar os testes de uma única vez.)

dotnet test

Testes de Cobertura

Na pasta dos testes cd src/triytter.Test rode o comando abaixo para instalar o reportgenerator-globaltool:

dotnet tool install --global dotnet-reportgenerator-globaltool --version 4.8.6

Depois de instalar o reportgenerator-globaltool , rode o seguinte comando para executar os testes:

dotnet test --collect:"XPlat Code Coverage" --settings coverlet.runsettings 

Depois de executar os testes, você terá um arquivo de cobertura gerado(geralmente no formato XML). O próximo passo é gerar o relatório de cobertura a partir desses arquivos.

Navegue até o diretório onde os arquivos de cobertura XML estão localizados.

Execute o seguinte comando para gerar o relatório de cobertura usando o ReportGenerator Global Tool (O relatório será gerado no formato HTML.):

reportgenerator "-reports:coverage.cobertura.xml" "-targetdir:coveragereport" -reporttypes:Html

Após a conclusão do comando acima, você encontrará um diretório chamado "coverage-report" no diretório atual. Navegue até o diretório "coverage-report" e abra o arquivo index.html no navegador para visualizar os resultados.


Cobertura dos testes

O testes deste projeto contemplaram uma cobertura de 49.7% da linhas.

img


📝 Documentação da API


Para saber mais, acesse a documentação: Documentação Swagger

Students
  GET /Students 
 GET /Student/:id
  GET /Student/Name/
  POST /Student
  POST /Login 
  PATCH /Student/:id
  DELETE/Student/:id

Posts
  GET /Post
  GET /Post/:id
  GET /Post/Student/:id
  GET /Post/Last/Student/:id
  GET /Post/StudentName
  /Post/Last/StudentName
  POST /Post
  PUT /Post/:id 
  DELETE /Post/:id 

🏗️ Deploy


O deploy da aplicação foi executado utilizando o Microsoft Azure: Link do deploy

🧑‍💻 Projeto Desenvolvido por:


Tamiris Shigaki João Claudio

About

Tryitter é uma rede social, totalmente baseada em texto.


Languages

Language:C# 100.0%