https://github.com/felipenlunkes/poc-crud-csharp

Prova de conceito de um CRUD em C#

https://github.com/felipenlunkes/poc-crud-csharp

Science Score: 26.0%

This score indicates how likely this project is to be science-related based on various indicators:

  • CITATION.cff file
  • codemeta.json file
    Found codemeta.json file
  • .zenodo.json file
    Found .zenodo.json file
  • DOI references
  • Academic publication links
  • Academic email domains
  • Institutional organization owner
  • JOSS paper metadata
  • Scientific vocabulary similarity
    Low similarity (3.1%) to scientific vocabulary
Last synced: 5 months ago · JSON representation

Repository

Prova de conceito de um CRUD em C#

Basic Info
  • Host: GitHub
  • Owner: felipenlunkes
  • License: bsd-3-clause
  • Language: C#
  • Default Branch: main
  • Size: 59.6 KB
Statistics
  • Stars: 0
  • Watchers: 1
  • Forks: 0
  • Open Issues: 0
  • Releases: 0
Created about 1 year ago · Last pushed 11 months ago
Metadata Files
Readme License

README.md

Prova de conceito de CRUD em C

O POC-CRUD-csharp é uma prova de conceito de aplicação web backend desenvolvida em C# que implementa o acesso e manipulação de dados em uma base MySQL.

Funcionalidades já implementadas:

  • [x] Integração com banco de dados MySQL;
  • [x] Entity Framework + ASP.NET MVC;
  • [x] Clean Architecture aplicada ao MVC (Controller → Service → Repository);
  • [x] Injeção automática de dependências via interfaces IService e IRepository;
  • [x] Mapeamento de exceções para respostas HTTP apropriadas;
  • [x] Autenticação via JWT (incluindo verificação de admin para alguns endpoints);
  • [x] CRUDs completos de User e Account (com vínculo entre eles).

🔐 A aplicação já permite login autenticado, gerenciamento de usuários e contas e segue boas práticas de organização e separação de responsabilidades, utilizando um modelo MVC + Services + Repositories, não o modelo MVC convencional;

Instruções para subir a aplicação localmente

Para subir a aplicação localmente, você precisa das seguintes dependências:

Caso tenha todas as dependências satisfeitas, siga os passos à seguir:

  • Abra o projeto em POC-CRUD/ com sua IDE de escolha;
  • Localize o arquivo docker-compose.yml. Ele será utilizado para subir um contêiner com uma imagem do MySQL;

Agora, vamos subir as dependências, utilizando, no shell ou terminal de sua escolha:

shell docker compose up

Após, inicie a aplicação em modo Release/http. Uma janela do seu navegador padrão deve se abrir, mostrando o status da aplicação (Healthy, Unhealthy). Caso esteja como Unhealthy, alguma dependência não foi satisfeita. Verifique o log no console.

A aplicação será iniciada na porta 8080.

:warning: A aplicação automaticamente irá executar as migrations, isto é, criar o schema no banco, bem como todas as tabelas. Nenhuma intervenção é necessária.

Importe o arquivo Postman.json, disponível dentro do diretório do projeto, no Postman, para acessar a API já implementada.

Lembre-se! Vários endpoints requerem autenticação via token. Veja em cada request no Postman ou nos controllers da aplicação. Caso alguma requisição não seja autorizada, há grande chance dela exigir um token. Para isso, faça login com um usuário criado por você. O endpoint de criação de usuário não requer autenticação via token. Lembre-se ainda que endpoints DELETE exigem que o usuário tenha role de administrador.

Instruções para finalizar a aplicação

Após encerrar a execução pela IDE, basta, no shell usado para executar o comando anterior, usar a combinação Ctrl-C. Caso tenha subido os contêiners com:

shell docker compose up -d

insira, no shell, no mesmo diretório do arquivo docker-compose.yml, inserir:

shell docker compose down

Bugs, sugestões e contato

Caso encontre algum bug ou tenha alguma sugestão, não exite em entrar em contato comigo pelo email felipenldev@gmail.com ou pelas minhas redes sociais!

Mais está por vir!

Owner

  • Name: Felipe Lunkes (Lunx)
  • Login: felipenlunkes
  • Kind: user
  • Location: Belo Horizonte, Brazil

C | Java | Python ◇ Looking for a job opportunity ◇ Operating systems enthusiast and Unix & Assembly lover

GitHub Events

Total
  • Push event: 33
  • Create event: 2
Last Year
  • Push event: 33
  • Create event: 2