Этот репозиторий содержит основное приложение ASP.NET WebAPI , которое реализует аутентификацию JWT , приложение .NET MAUI для административного фронта, которое потребляет защищенный WebAPI.
repository
|__src
| |__Foody -> web api project
| |__client -> maui project
| |__.gitignore
|__.gitignore
|__ReadME.md
Проект может работать локально или на коде.
Некоторые требования и рабочие нагрузки для установки:
Откройте командную строку (Windows) или терминал (Mac) и введите клон репозиторий:
git clone https://github.com/coderBane/food-web-app.git
Откройте репозиторий в CodeSpaces, нажав на раскрывающееся меню кода и выбрав Codespaces
Нам нужно сначала настроить несколько вещей, прежде чем запустить проекты.
dotnet ef dotnet tool install -- global dotnet - efСоздать экземпляр контейнера Redis
docker run --name redis-cache -p 6379:6379 -d redis
Создать экземпляр контейнера
docker run --name postgresql -e POSTGRES_PASSWORD=<yourpassword> -p 5432:5432 -d postgres
Запустить PSQL
docker exec -it postgresql psql -U postgres
Сначала нам нужно создать новую роль. Роль будет иметь привилегии для входа и создания базы данных.
CREATE ROLE devuser WITH LOGIN CREATEDB PASSWORD '<yourpassword>';
Переключиться на нового пользователя
c postgres devuser
Создайте базу данных
CREATE DATABASE foody;
NOTE: You can run the command l to view all existing databases
Прежде чем мы сможем запустить проект, нам нужно настроить несколько вещей для веб -API. Откройте файл foody.webapi.csproj и удалите свойство usersecretsid .
Откройте новый терминал или командную строку и измените каталог в папку Foody.Webapi.
Запустите команду:
dotnet user-secrets init
Создайте случайную строку, используя этот сайт случайным.
Создайте новый файл 'S.Json' и заполните его следующим
{
"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>"
}
Установите секреты пользователя
cat ./s.json | dotnet user-secrets set
NOTE: You can delete the s.json file
Нам нужно создать таблицы в базе данных.
dotnet ef --startup-project ../Foody.WebApi database update
Теперь мы можем запустить проекты
запустить без чванства
dotnet run
Запуск с Swagger UI
dotnet watch