День шестьсот семьдесят первый. #DeveloperPath#DeveloperPath
Новости проекта «Путь Разработчика»О проектеСпасибо всем, кто присоединился. Итак, что мы имеем на сегодняшний день.
1. Исходный кодВо-первых, и в главных, хочу обратить внимание, что исходный код проекта находится в GitHub
https://github.com/sbzenenko/DeveloperPathИзначально планировалось импортировать код прямо в проект в Azure DevOps, однако, как оказалось, при этом создаётся не ссылка на GitHub, а клон репозитория в Azure. Привязать исходный репозиторий на GitHub, видимо, нельзя. В принципе, это не страшно, я убрал раздел репозиториев из проекта, чтобы они не вводили в заблуждение. Настроить пайплайны, тесты и релизы всё равно можно будет, используя репозиторий на GitHub.
2. Проблемы с доступомУ некоторых возникли проблемы с доступом на проект
https://dev.azure.com/sbenzenko/DeveloperPath/ (ошибка 401). Пока эту проблему решить не удаётся. Написал об этом в саппорт
https://developercommunity.visualstudio.com/content/problem/1268521/some-invited-members-get-401-error.html. Там выложили несколько вариантов, что можно попробовать, но не похоже, что они помогают. Будем решать.
В любом случае, даже если у вас не получается присоединиться к проекту на Azure, вы можете:
- просматривать его в режиме только для чтения (проект открытый),
- клонировать репозиторий
https://github.com/sbzenenko/DeveloperPath с GitHub, следить за изменениями и вносить свои через Pull requests,
- оставлять предложения и замечания в GitHub Issues
https://github.com/sbzenenko/DeveloperPath/issues.
3. Что сделано за неделюЯ скопировал шаблон Clean Architecture, обновил его до .NET 5 и начал работу над сущностями домена
https://dev.azure.com/sbenzenko/DeveloperPath/_workitems/edit/6/.
Решение собирается и запускается. Только для этого вам потребуется поставить Node.js (если у вас его нет), т.к. на данный момент клиентская часть там на Angular. В будущем она будет переписана на Blazor.
Описывать собственно структуру и работу шаблона можно очень долго. Вот здесь внизу есть полезные ссылки для изучения
https://dev.azure.com/sbenzenko/DeveloperPath/_wiki/wikis/DeveloperPath.wiki/3/Architecture Извините, только на английском. Если кто найдёт русскоязычные источники, с удовольствием добавлю.
Несколько комментариев для тех, кто захочет запустить проект у себя. То, с чем столкнулся сам:
1) Для запуска потребуется Visual Studio 2019 (v16.8) с модулем разработки Node.js и .NET 5 SDK.
2) По умолчанию в проекте используется InMemory база. Это можно изменить, установив
UseInMemoryDatabase в
false в
src/WebUI/appsettings.json3) Если кто-то захочет перейти на реальную базу, имейте в виду, что миграции и изменения в базу нужно запускать из проекта
src/Infrastructure/, указывая при этом стартовый проект
/WebUI/:
dotnet ef --startup-project ..\WebUI\ migrations add <NAME>
dotnet ef --startup-project ..\WebUI\ database updateНе знаю, зачем сделано так, если кто знает, подскажите.
4) Клиентская часть пока работает только с сущностями из шаблона (
TodoItems и
TodoLists). На их основе создаются сущности проекта. Сущности проекта можно посмотреть в Swagger https://localhost:5001/api/ Он их генерирует автоматически по созданным контроллерам и моделям. С ним у меня мало опыта работы. Знаю, что он позволяет документировать и тестировать API, автоматически выводит комментарии к конечным точкам и параметрам. Немножко его поковырял и добавил некоторые комментарии. По мере разработки буду изучать и описывать на канале.
5) На сайте есть шаблон Identity. Данные для входа находятся в файле
src/Infrastructure/ApplicationDbContextSeed.csЕсли у кого-то возникнут вопросы, пишите в чат или в личку.