{"id":18219556,"url":"https://github.com/jvprotano/microwave-dotnet-blazor","last_synced_at":"2026-02-24T08:35:17.311Z","repository":{"id":258850010,"uuid":"875635471","full_name":"Jvprotano/Microwave-Dotnet-Blazor","owner":"Jvprotano","description":"Aplicação Fullstack que simula a execução de um micro-ondas. API desenvolvida com .NET 8 e Frontend utilizando Blazor WASM. A aplicação utiliza como banco de dados o SQLServer. ","archived":false,"fork":false,"pushed_at":"2024-11-02T23:15:58.000Z","size":219,"stargazers_count":1,"open_issues_count":0,"forks_count":0,"subscribers_count":1,"default_branch":"main","last_synced_at":"2025-04-02T23:33:04.979Z","etag":null,"topics":["blazor","blazor-webassembly","csharp","dotnet","dotnet-8","dotnet-core","dotnetcore"],"latest_commit_sha":null,"homepage":"","language":"C#","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/Jvprotano.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":null,"code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2024-10-20T14:00:50.000Z","updated_at":"2024-11-02T23:16:01.000Z","dependencies_parsed_at":"2024-11-03T00:18:12.588Z","dependency_job_id":"2216562c-d108-4b2c-82de-b1abc5f4d374","html_url":"https://github.com/Jvprotano/Microwave-Dotnet-Blazor","commit_stats":null,"previous_names":["jvprotano/microwave","jvprotano/microwave-dotnet-blazor"],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/Jvprotano/Microwave-Dotnet-Blazor","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Jvprotano%2FMicrowave-Dotnet-Blazor","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Jvprotano%2FMicrowave-Dotnet-Blazor/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Jvprotano%2FMicrowave-Dotnet-Blazor/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Jvprotano%2FMicrowave-Dotnet-Blazor/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/Jvprotano","download_url":"https://codeload.github.com/Jvprotano/Microwave-Dotnet-Blazor/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Jvprotano%2FMicrowave-Dotnet-Blazor/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":270729277,"owners_count":24635396,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","status":"online","status_checked_at":"2025-08-16T02:00:11.002Z","response_time":91,"last_error":null,"robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":true,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["blazor","blazor-webassembly","csharp","dotnet","dotnet-8","dotnet-core","dotnetcore"],"created_at":"2024-11-03T19:04:40.895Z","updated_at":"2025-10-30T17:37:18.928Z","avatar_url":"https://github.com/Jvprotano.png","language":"C#","funding_links":[],"categories":[],"sub_categories":[],"readme":"# Projeto Micro-ondas\n\n## Descrição\n\nEste projeto é uma aplicação completa de controle de um micro-ondas. Ele é composto por uma API desenvolvida em .NET 8, um frontend construído com Blazor, e testes automatizados utilizando xUnit. O banco de dados utilizado é o SQL Server, configurado com migrations do Entity Framework Core.\n\n## Estrutura do Projeto\n\n- **API**: Desenvolvida em .NET 8, responsável pela lógica de negócios e manipulação dos dados.\n- **Frontend**: Interface criada com Blazor, consumindo a API e permitindo a interação com o micro-ondas.\n- **Testes**: Testes de unidade implementados com xUnit para garantir a qualidade e funcionalidade da aplicação.\n- **Banco de Dados**: SQL Server, gerenciado por migrations do Entity Framework Core.\n\n## Tecnologias Utilizadas\n\n- .NET 8 (Backend e API)\n- Blazor WASM (Frontend)\n- Entity Framework Core (ORM)\n- SQL Server (Banco de Dados)\n- xUnit (Testes unitários)\n- Docker (Opcional, se for containerizar a aplicação)\n  \n---\n\n## Alguns padrões e princípios aplicados\n\n- Singleton\n- Dependency Injection\n- SOLID\n- DRY\n  \n---\n\n## Como Rodar o Projeto\n\n### Pré-requisitos\n\n- **.NET SDK 8**: [Instale o SDK](https://dotnet.microsoft.com/download/dotnet/8.0)\n- **SQL Server**: Pode ser instalado localmente ou usar o [Docker](https://hub.docker.com/_/microsoft-mssql-server) para rodar em containers.\n- **Visual Studio 2022** ou **VS Code**\n\n### Passos para Rodar o Projeto Localmente\n\n1. **Clonar o Repositório**\n\n   Clone o projeto do Git:\n   ```bash\n   git clone https://github.com/Jvprotano/Microwave.git\n   cd microwave\n   ```\n\n2. **Configurar o Banco de Dados SQL Server**\n\n   Certifique-se de que o SQL Server está rodando na sua máquina. Configure a string de conexão para o SQL Server no arquivo `appsettings.json` da API ou utilizando o dotnet user-secrets:\n\n   ```json\n   {\n     \"ConnectionStrings\": {\n       \"DefaultConnection\": \"ConnectionStrings:Default\" \"Server=localhost,1433;Database=microwave;User ID=sa;Password=SUA_SENHA;Trusted_Connection=False; TrustServerCertificate=True;\"\n     }\n   }\n   ```\n   ou\n\n    ```json\n   dotnet user-secrets init\n    dotnet user-secrets set \"ConnectionStrings:Default\" \"Server=localhost,1433;Database=microwave;User ID=sa;Password=SUA_SENHA;Trusted_Connection=False; TrustServerCertificate=True;\"\n     ```\n\n3. **Rodar as Migrations**\n\n   No diretório da API, aplique as migrations do Entity Framework para configurar o banco de dados:\n\n   ```bash\n   cd Microwave.Api\n   dotnet ef database update\n   ```\n\n   Caso a string de conexão tenha sido criada corretamente e o servidor do SQLServer rodando, o Entity Framework deverá vai criar o banco de dados e as tabelas necessárias com base nas migrations.\n\n4. **Rodar o Backend (API)**\n\n   No diretório da API, execute o comando para rodar a aplicação:\n\n   ```bash\n   cd Microwave.Api\n   dotnet run\n   ```\n\n   A API vai rodar por padrão no endereço `https://localhost:5181`.\n\n5. **Rodar o Frontend (Blazor)**\n\n   No diretório do frontend, execute o comando para iniciar a aplicação Blazor:\n\n   ```bash\n   cd Microwave.Web\n   dotnet run\n   ```\n\n   O frontend estará disponível no endereço `https://localhost:5065`.\n\n6. **Rodar os Testes**\n\n   No diretório dos testes, execute o comando para rodar os testes unitários:\n\n   ```bash\n   cd Microwave.Tests\n   dotnet test\n   ```\n\n   Todos os testes xUnit devem passar sem erros.\n\n---\n\n## Testes\n\nOs testes unitários foram desenvolvidos utilizando o xUnit para garantir que a lógica de negócio está funcionando corretamente. \n---\n\n## API Endpoints\n\n- **Com exceção dos endpoints de Registro e Login de usuário, todos os endpoints requerem autenticação.**\n\n### Após inicializar a API, adicione a seguinte roda à URL para acessar o Swagger e obter informações dos endpoints\n\n- `/swagger` - Listará todos os endpoints criados\n\n## Autenticação\n\nA autenticação se dá através dos endpoints de registro e login e deverá ser feita utilizando o Bearer Token retornado pelo endpoint de login.\nPadrão para uso no Swagger: \n   ```bash\nBearer token\n   ```\n\n### O funcionamento do micro-ondas se dá através dos seguintes endpoints: \n- `/v1/start` - Inicia o aquecimento usando os valores informados ou, caso informado o ID de um programa predefinido, usando os valores deste.\n\n- `/v1/pause-stop` - Caso o aquecimento esteja em execução, acionar este endpoint uma vez pausará a execução e, em uma segunda vez, parará limpando os dados.\n\n- `/v1/get-execution-status` - Através deste endpoint é possível acompanhar o andamento da execução de aquecimento, exibindo dados como tempo total, tempo decorrido e label de execução.\n\n- `/v1/predefined-programs` - Retornará uma lista com todos os programas pré-definidos, criados por padrão ou pelo usuário.\n\n- `/v1/predefined-programs/custom-programs` - Retornará uma lista com todos os programas pré-definidos CRIADOS PELO USUÁRIO, ou seja, personalizados.\n\n- `/v1/predefined-programs/custom-programs` - Permite criar novos programas pré-definidos.\n\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fjvprotano%2Fmicrowave-dotnet-blazor","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fjvprotano%2Fmicrowave-dotnet-blazor","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fjvprotano%2Fmicrowave-dotnet-blazor/lists"}