Доброе утро, Добрый день или спокойной ночи. Этот проект является менеджером коллекции библиотеки школьной библиотеки Etec Aristotle Ferreira
В этом хранилище будет три проекта:
В настоящее время частично завершается внутренний API GIB, сделанный в GRPC. Возможно выполнить модульные тесты проекта.
Вы можете запустить API двумя способами: использование среды машины или с помощью Docker. Предпочтительно использовать Docker, если он уже установил или не может установить требования для выполнения в среде машины.
Возможно, из -за пропускной способности потребуется время для установки изображений и пакетов.
Для выполнения в местной среде есть следующие требования:
Необходимо, чтобы до выполнения настраивали файл ./src/LivrEtec.GIB.Servidor/appsettings.json
Я рекомендую копировать файл Appsettings.modelo.json, заполняя свойство Authkey строкой, которая служит ключом аутентификации и строки подключения в соответствии с вашим сервером MySQL. Используйте в качестве примера файл приложений, используемый в Docker.
После настройки проекта вы открываете проект в Visual Studio и выбираете Livretec.gib.servator в качестве проекта инициации или запускаете на терминальном эмуляторе в ./src/LivrEtec.GIB.Servidor
dotnet runМожет возникнуть ошибка, если она не настроена правильно, например, строка подключения или неверный порт. В случае любой ошибки чувствуйте себя комфортно, чтобы опубликовать
Чтобы запустить сервер с помощью Docker, просто запустите следующую команду в папке ./src
docker compose --profile backend up --buildКак указывалось ранее, так как необходимо загрузить изображения и пакеты, Nuget может занять минуты для загрузки в зависимости от вашей интернет -группы.
После выполнения проекта он проинформирует двери, которые он слушает. Поскольку сертификаты SSL еще не настроены, рекомендуется использовать стандарты HTTP.
Чтобы позвонить в API, выберите клиента GRPC по вашему выбору.
Некоторые альтернативы - бессонница или почтальон.
Файл Proto API находится по адресу ./src/livretec.gib/protos/acervo.proto.
После этого необходимо войти в API по запросу в login в GerenciamentoSessao . Войдите в систему требуется для названия входа и хэша пароля, но в первый раз, запустив сервер, он создаст пользователя с пользователем с admin:senha и id 1.
Хэш пароля должен быть сгенерирован следующим образом:
md5(senha + id).
Таким образом, запрос должен быть следующим:
{
"IdUsuario" : 1 ,
"HashSenha" : " 92f20dafc5e5ac1c66820903c492cc04 "
} И тогда он вернет токен JWT, который следует добавить в заголовок следующим образом: Authorization: Bearer <JWT Token>
Хорошо, теперь у вас будет доступ к остальной части API в качестве администратора.
Однако, когда GIB API можно проверить в локальной среде и Docker, вы можете провести некоторые тесты без установленного сервера MySQL.
Тесты разделены на два:
Чтобы выполнить только локальные тесты, просто установили .NET 6.0.0 и в папке ./src/ Выполните следующую команду:
dotnet test LivrEtec.sln --filter Category=local Если вы используете Visual Studio, откройте диспетчер тестов и запустите local категорию тестирования
Чтобы также выполнить удаленные тесты, вы должны сначала запустить сервер GIB. После того, как вы выполнили, вам необходимо создать и настроить файл ./src/LivrEtec.Testes/appsettings.json .
Скопируйте файл appsettings.modelo.json и заполните ту же информацию, которая заполнила приложения сервера GIB, а также добавление ссылки на сервер, если ссылка появляется в этом формате:
http://[::]:21312http://localhost:21312
И после настройки сервера и тестов для выполнения проекта. Просто запустите следующую команду в каталоге ./src/
dotnet test LivrEtec.slnВ Visual Studio просто откройте диспетчер тестов и нажмите «Запуск».
Если вы хотите использовать Docker, просто перейдите в папку ./src/ и запустите контейнеры со следующей командой:
docker compose --profile teste up --build
--buildдолжен гарантировать, что контейнер выполняется с последним кодом.
После запуска тестов контейнер базы данных будет продолжать работать. Если вы хотите выйти автоматически после тестирования, добавьте
--exit-code-from appв качестве флага в команде.
Дизайн доступен по адресу https://figma.com/community/file/1176031299741420547
Вся помощь приветствуется, если вы хотите сотрудничать. Мы рекомендуем вам сначала перейти к (Wiki) [./ Wiki/ Projects-of-Projects] и немного прочитали, чтобы получить обзор проекта, а затем поищите (./ Проблемы] любую проблему, которая вас интересует. Если вы найдете проект выходить, внесите свои изменения, а затем сделайте привлечение к проекту. Убедитесь, что до того, как вы выполняете запрос на тягу, вы создали тестирование на свои новые реализации, и вы наступаете на прохождение.
Для получения дополнительной информации о проекте см. Наша документация.
Добро пожаловать :)