Как сделать бэкенд на C# с нуля?
Изучить сетевой стек — сетевая модель OSI. Не обязательно глубоко — но базовые вещи вроде уровней, протоколов надо знать.Изучить что такое сокеты и как они работают: реализовать чтение данных из сокетазапись данных в сокетзатем реализовать сокет-сервер и сокет клиенторганизовать передачу данных между нимисделать прием/передачу данных из/в сокета/сокет блокирующую и неблокирующую и понять разницу между нимиреализовать на сервере поддержку коннекта нескольких клиентовреализовать группу потоков и очереди для чтения/записи в сокетыИзучить веб-сокетыВыбрать любую БД, подходящую под ваши критерии (схема данных, нагрузка, логика работы приложения и т.п.) — можно взять любую популярную MySQL, PosgreSQL, Mongo и т.п.Найти библиотеку для работы БД и пройти туториалы по нейПодключить библиотеку для работы с БД к сокет/веб-сокет серверуРеализовать сетевое API вашего сервера (логин клиентом, прием/передача данных и прочее)Реализовать клиентскую обертку для работы с API сервера
Хороший туториал есть на metanit по asp.net mvc/core. А если нет проблем с английским, то попробуйте курсы на pluralsight, там можно сделать 3 месяца бесплатной подписки.