Este repositório contém um aplicativo Webapi Core ASP.NET que implementa a autenticação JWT , um aplicativo .NET Maui para frontend administrativo que consome o webapi protegido.
repository
|__src
| |__Foody -> web api project
| |__client -> maui project
| |__.gitignore
|__.gitignore
|__ReadME.md
O projeto pode ser executado localmente ou nos espaços de codificina.
Alguns requisitos e cargas de trabalho para instalar:
Abra um prompt de comando (Windows) ou terminal (MAC) e insira o clone the Repository:
git clone https://github.com/coderBane/food-web-app.git
Abra o repositório em Codespaces, clicando no menu suspenso de código e selecionando Codespaces
Precisamos configurar algumas coisas antes de executar os projetos.
dotnet ef dotnet tool install -- global dotnet - efCrie uma instância de contêiner Redis
docker run --name redis-cache -p 6379:6379 -d redis
Crie uma instância de contêiner
docker run --name postgresql -e POSTGRES_PASSWORD=<yourpassword> -p 5432:5432 -d postgres
Execute PSQL
docker exec -it postgresql psql -U postgres
Primeiro, precisaremos criar uma nova função. A função teria privilégios de criação de login e banco de dados.
CREATE ROLE devuser WITH LOGIN CREATEDB PASSWORD '<yourpassword>';
Mude para o novo usuário
c postgres devuser
Crie o banco de dados
CREATE DATABASE foody;
NOTE: You can run the command l to view all existing databases
Antes de podermos executar o projeto, precisamos configurar algumas coisas para a API da Web. Abra o arquivo Foody.webapi.csproj e exclua a propriedade UserSecretsid .
Abra um novo terminal ou prompt de comando e altere o diretório para a pasta Foody.webapi.
Execute o comando:
dotnet user-secrets init
Gere uma string aleatória usando este site aleatório.
Crie um novo arquivo 's.json' e preencha -o com o seguinte
{
"JwtConfig": {
"Secret": "<generatedstring>",
"ExpiryTimeFrame": "00:01:00"
},
"WatchDog": {
"Username": "<yourusername>",
"Password": "<yourpassword>"
},
"Redis": "localhost",
"Postgres": "Server=localhost:5432;Database=foody;User Id=devuser;Password=<devuserpassword>;Integrated Security=true;Pooling=true;",
"UserPW": "<yourpassword>"
}
Defina os segredos do usuário
cat ./s.json | dotnet user-secrets set
NOTE: You can delete the s.json file
Precisamos criar as tabelas no banco de dados.
dotnet ef --startup-project ../Foody.WebApi database update
Agora podemos executar os projetos
inicie sem arrogância
dotnet run
lançar com swagger ui
dotnet watch