Este projeto foi elaborado por meio do teste da empresa Marlin para vaga Estágio .NET C#, onde foi pedido para criar UM Web API para uma empresa que oferece cursos de idiomas, dentro desse projeto foi criado uma base de dados usando o SQL Server Managmente Studio com as tabelas mencionadas a baixo, ainda na criação foi elaborado total de 3 CRUD citados abaixo em CRUD Métodos API, dentro desse projeto também foi criada algumas regras de negócio.
👨💻💻 Tabelas do Banco
✔️ALUNO (Nome,Cpf,E-mail)
✔️TURMA (Número,AnoLetivo)
✔️Matriculas
👨💻CRUD Métodos API:
✔️ALUNO: (Cadastro,Alteração,Liste de todos os Alunos e Exclusão);
✔️TURMA: (Cadastro,Alteração,Liste de todos os Turmas e Exclusão);
✔️MATRICULA: (Cadastro,Liste de todas as Matriculas e Exclusão);
👨💻 Regra de negócios
Fiz recentemente umas atualizações nas regras de negocio. Confirmei que essas regras estão sendo implementadas corretamente e testadas.
✔️ 1-Aluno não pode ser cadastrado repetido (validação pelo CPF)
✔️ 2-No momento de cadastrar um aluno, deve-se informar pelo menos uma turma que ele irá cursar;
✔️ 3-O mesmo aluno pode ser matriculado em várias turmas diferentes, porém a Matrícula não pode ser repetida na mesma turma;
✔️ 4-Uma turma não pode ter mais de 5 alunos;
✔️ 5-Turma não pode ser excluída se possuir alunos;
-
AspNetCore
-
SQL Server
-
Swashbuckle.AspNetCore
-
DDD
-
EF Code First
-
Repository Patterns
-
Injeções de depencências
-
Microsoft.EntityFrameworkCore
-
Microsoft.EntityFrameworkCore.Design
-
Microsoft.EntityFrameworkCore.SqlServer
-
Microsoft.EntityFrameworkCore.Tools
-
Microsoft.Extensions.DependencyInjection
-
Swashbuckle.AspNetCore.Swagger
Para rodar o repositório é necessário clonar o mesmo, dar o seguinte comando para iniciar o projeto:
<Para fazer uso do Migrations usei os comandos especificado abaixo
****************---
Para rodar a migrations entre na pasta -> cd .\CursosDeIdiomas.Infra\
****************---
Na sequencia use o comando para adcionar-> dotnet ef --startup-project ..\CursosDeIdiomas.Services\ migrations add NomeDaMigrations --context SqlContext
****************---
para encerra use este comando para da um update.-> dotnet ef --startup-project ..\CursosDeIdiomas.Services\ database update --context SqlContext.>