O objetivo do Tryitter é proporcionar um ambiente em que 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.
Clone o projeto
git clone git@github.com:breno-albuquerque/FinalProjectTryitter.git
- .Net Core
- SDK do .Net
- IDE configurada para .Net
- Docker
- SQL Server
Observação: Este guia supõe que você esteja usando o Ubuntu 20.04. Em função das diversas distribuições do Linux, é recomendado pesquisar as instruções de instalação específicas para sua distribuição.
Para realizar o download do pacote Microsoft em .deb, execute:
wget https://packages.microsoft.com/config/ubuntu/21.04/packages-microsoft-prod.deb -O packages-microsoft-prod.deb
Para instalar o pacote Microsoft com o dpkg, execute o seguinte comando:
sudo dpkg -i packages-microsoft-prod.deb
O SDK é o que permite o desenvolvimento dos aplicativos na plataforma do .NET. Para sua instalação, siga o passo a passo abaixo:
- Atualize os repositórios no Ubuntu:
sudo apt-get update
- Garanta que o pacote de transferência segura está instalado:
sudo apt-get install -y apt-transport-https
- Atualize novamente os repositórios no Ubuntu:
sudo apt-get update
- Instale o SDK do .NET na versão 6.0:
sudo apt-get install -y dotnet-sdk-6.0
Para testar se o .NET Core foi instalado com sucesso, execute o comando:
dotnet --info
Com o .NET Core instalado, vamos configurar a IDE para trabalhar com C#(neste guia, utilizamos o VS Code como exemplo).
Para configurar todo suporte de marcação de sintaxe, IntelliSense, definições e Debugging para o C#, siga o passo a passo:
- Abra o VS Code.
- Vá para a aba de extensões, utilize o atalho
"ctrl + shift + x"
no Windows e Linux ou"⌘ + shift + x"
no macOS. Procure por"C# Microsoft"
ou acesse pela Marketplace. - Instale a extensão.
- Reinicie o VS Code.
A extensão provida pela Microsoft já se encarrega de baixar e instalar todas as dependências.
- Instale as dependências para o Docker, garantindo que o pacote de transferência segura está instalado:
1.1. Instale os pré-requisitos de certificado:
sudo apt install apt-transport-https ca-certificates curl software-properties-common
1.2. Adicione a chave GPG para o repositório oficial do Docker no seu Ubuntu:
curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo apt-key add -
1.3. Por fim, adicione o repositório do Docker às fontes do APT:
sudo add-apt-repository "deb [arch=amd64] https://download.docker.com/linux/ubuntu focal stable"
- Instale o Docker no Ubuntu:
sudo apt-get install docker-ce docker-ce-cli containerd.io
- Abra o VS Code.
- Vá para a aba de extensões, utilize o atalho
"ctrl + shift + p"
no Windows e Linux ou"⌘ + shift + P"
no macOS. - Procure por "Docker" ou acesse pela Marketplace.
- Instale a extensão.
- Reinicie o VS Code.
Para testar se o docker foi instalado corretamente, execute o comando:
docker version
Baixe e instale o Postman na versão mais adequada para seu sistema neste link (É recomendado que você crie uma conta gratuita e faça login). Caso precise de ajuda, siga as instruções neste link.
A arquitetura foi pensada da seguinte forma:
Conforme visto na imagem acima, haverá um Front-End que será responsável por interagir com as pessoas estudantes e mandar as requisições para o Back-End (o presente projeto), que, por sua vez, será responsável por manter as informações atualizadas em um banco de dados MySQL Server usando o Entity Framework.
Nessa rede social, as pessoas estudantes devem conseguir se cadastrar com nome, e-mail, módulo atual que estão estudando no curso da Trybe 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 mais recente.
- POST
/cadastro
- para cadastros de novos usuários; - POST
/login
- para login de usuários já cadastrados;
- Foi desenvolvida uma autenticação utilizando
JWT Bearer
, necessária para todas as demais rotas além deCadastro
eLogin
; - Os testes foram desenvolvidos utilizando os frameworks
xUnit
eFluentAssertions
.