Muito legal que você está começando e aprendendo por projetos. Eu dei uma olhada no seu código e tem algumas coisas a melhorar. Não leve isso como criticismo, todo mundo que está aprendendo tem de começar de algum lugar e você está indo muito bem. Mas acho que posso te ajudar
em alguns pontos:
-
As pastas bin e obj foram para o GitHub. Tanta fazer um commit apagando elas e cria um arquivo gitignore para evitar que eles sejam publicados novamente. Com o dotnet basta entrar na pasta do código fonte e rodar
dotnet new gitignore
. -
Para o deploy, aproveita que o dotnet possui uma ferramenta nativa para criar containers docker sem ter que escrever nenhum dockerfile. Aprenda como utilizá-la e como publicar uma imagem do seu app no dockerhub para baixar em qualquer servidor.
-
No deploy algumas coisas vão te encontrar. Então relaxe, Cors, redirect e companhia vão aparecer pra te assombrar mas descobrir como resolver só vai te tornar mais forte. Além de te fazer perder alguma sanidade e cabelos no processo. Mas é normal.
-
A estrutura do projeto está um pouco fora do padrão. Pelo que percebi você está criando uma estrutura próxima de DDD. É interessante estudar um pouco o que vai no que. Seus models estão no lugar certo, no domínio. Mas o datacontext e repositórios deveriam estar em uma camada de infraestrutura. Já o código dos controladores podem ser abistraidos na camada de aplicação. Não entendeu nada? Relaxa, tenta organizar de um jeito razoável para você e estuda DDD depois de fazer o projeto funcionar. Primeiro você faz funcionar, depois refatora.
-
Por último, quando finalizar seu projeto backend, tenta criar um front com Blazor para consumir sua API, tenta até integrar com o .Net aspire, é muito simples e muito legal para orquestrar todas as suas aplicações.
Vai fazendo isso aos poucos, tome o tempo necessário. Sim é bastante coisa. Mas acho que isso vai te dar uma ótima experiência e te tornar um grande programador.
Se tiver alguma dúvida pode comentar aqui que vou disponibilizar um tempo para te ajudar se eu puder. É um ótimo começo, continue firme!