Это аналог игры Wordle только по героям Dota 2, такие уже есть, но их функционал меня не устроил (мало данных, герои раз в день), поэтому решил сделать свой. Вот так например выглядит один из Wordle по доте.
В солюшене находится 4 проекта каждый из которых ответственен за определенную логику.
Тут лежит все что связано с asp.net-ом: api с помощью контроллеров. И странички сайта на razor pages (пока что без особой логики).
Тут лежит все что связано с базой данных и тем что в ней лежит. В качестве бд использую Postgres
Тут лежит вся логика по вытаскиванию данных о героях и записыванию их в бд. Данные беру с https://stratz.com/ с помощью GraphQL.
Тут лежат всякие тесты, как юнит тесты, так и апрувал тесты на случай если данные которые парсятся с сайта изменят свою сигнатуру.
- Нейминг и структура проекта
- Тесты. Во многих тестах с логикой вручную создаются экземпляр модели, и у меня есть ощущение, что делаю что-то не то, хотя по другому я не уверен как тестировать логику правильно.
- Все что связано с Entity Framework основное в следующих файлах
- В файле с записью в бд.
- В контролере для api
- Проект с логикой бд в целом, так как парсер у меня сейчас это консольное приложение (запустил и он спарсил) как лучше с ним поступать и со строкой подключения к бд
- Пытался сделать некоторые сервисы синглтоном, например HeroRepository и все что с ним связано, но не получилось из-за того что подключение к дб идет из самого класса дбконтекста (наверное)