Ecosyste.ms: Awesome

An open API service indexing awesome lists of open source software.

Awesome Lists | Featured Topics | Projects

https://github.com/gustavohps10/teste-benner

🐣 Teste Dev Trainee Benner
https://github.com/gustavohps10/teste-benner

asp-net-core c-sharp entity-framework-core full-stack react shadcn-ui tailwindcss tanstack-react-query typescript zod

Last synced: about 13 hours ago
JSON representation

🐣 Teste Dev Trainee Benner

Awesome Lists containing this project

README

        


Teste para Desenvolvedor Trainee






## :page_with_curl: Descrição

Este projeto consiste na implementação de um micro-ondas digital utilizando conceitos de orientação a objetos e C# (.NET Framework 4.0 ou superior). O desenvolvimento está estruturado em níveis de dificuldade, onde cada nível expande as funcionalidades anteriores, atendendo a requisitos obrigatórios e desejáveis, como a aplicação dos princípios SOLID e boas práticas de código.

## :dart: Níveis

- [x] Nível 1 - UI do Microondas
- [x] Nível 2 - Programas de aquecimento pré-definidos
- [x] Nível 3 - Programas de aquecimento customizados
- [x] Nível 4 - Web API

## :bulb: Resolvendo o desafio

No desenvolvimento do micro-ondas, adotei uma abordagem que se baseia na definição de duas entidades principais: `HeatingTask` e `HeatingProgram`. Essa abordagem permitiu controlar o estado das minhas "Tasks" através de endpoints, concentrando toda a lógica de negócios na API.
Com um pouco mais de tempo, seria possível implementar mais funcionalidades e melhorias, por exemplo: mensagens de erro customizadas, login com JWT, tratamento de exceptions, etc...

## :pushpin: Requisitos

- [Visual Studio Code](https://visualstudio.microsoft.com/vs/)
- [Node.js](https://nodejs.org/en)

## :gear: Rodando localmente

Faça o [Download](https://github.com/Gustavohps10/microwave-benner/archive/refs/heads/main.zip) ou bifurque e clone este repositório

```
git clone https://github.com//microwave-benner
```

### Com um comando Docker

```
docker-compose up
```

### Database

❗ Não se preocupe, a aplicação utilizará valores padrão se variaveis de ambiente não forem setadas

Inicie o banco de dados PostgreSQL

```
docker-compose up -d db
```

Você também vai precisar aplicar as migrations com Entity Framework

```
docker-compose run migrate
```

ou

```
dotnet ef database update --project ./microwave-benner.Infra.Data/microwave-benner.Infra.Data.csproj --startup-project ./microwave-benner.Server/microwave-benner.Server.csproj
```

### Executando Frontend e Backend

Inicie a API e o client em React

```
docker-compose up api client
```

ou

```
dotnet run --project ./microwave-benner.Server/microwave-benner.Server.csproj
```

> Abra no seu navegador http://localhost:5173 e voilà

> Para acessar o Swagger http://localhost:5000/swagger/

## Capturas de tela

- Selecionar programa de aquecimento


- Cadastro de programas de aquecimento


- Formulário de cadastro

## :hammer_and_wrench: Ferramentas utilizadas

#### Frontend







#### Backend






## :bookmark_tabs: Licença

Este projeto está sob licença MIT. Consulte `LICENSE` para mais informações.

## :adult: Autores



Gustavo Henrique
Gustavo Henrique

💻