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.
-
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).
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
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.
O testes deste projeto contemplaram uma cobertura de 49.7% da linhas.
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
O deploy da aplicação foi executado utilizando o Microsoft Azure:
Link do deploy
Tamiris Shigaki | João Claudio |