📍 Sobre
📍 Tecnologias
📍 Usabilidade
📍 Documentação
📍 Orientações
📍 Scripts
📍 Testes
📍 DER
📍 Referências
Esta aplicação tem como objetivo gerenciar uma rede social 📱
- Esta é uma aplicação em
.NETcomEntity Frameworkque realiza um CRUD de contas e posts. Infelizmente não foi possível realizar o deploy naAzure, 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.
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.csproje rode os scriptsdotnet restore,dotnet ef database updateedotnet 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
ℹ️ É necessário possuir
dotnet,dotnet ef,dockeredocker-composeinstalados 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 oute com as credenciais de uma pessoa estudante (crie uma na rotaPOST /studentspreviamente) e em seguida clique emexecute, a aplicação retornará um token. -
Após o login, o token retornado deve ser inserido em
Authorizee 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
executepara retornar as respostas. -
Exceto a rota
POST /studentsque não necessita de login, neste caso após o cadastro, será retornado um token para então a utilização da API.
🐋 Rodando com Docker
ℹ️ Rode o serviço
dbcom o comandodocker-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.
📝 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.
🧪 Foram realizados testes de integração para atingir a cobertura mínima de 30%
Foram realizados testes de integração com
xUniteFluent 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.
ℹ️ Este projeto foi a realização de um projeto final da aceleração de C# da Trybe em parceria com a XP Inc.