{"id":15002695,"url":"https://github.com/welissonarley/myrecipebook","last_synced_at":"2025-10-30T09:30:39.617Z","repository":{"id":248192179,"uuid":"827598068","full_name":"welissonArley/MyRecipeBook","owner":"welissonArley","description":"API .NET para gerenciamento de receitas com login via Google e integração com ChatGPT. Utiliza arquitetura DDD e SOLID. Testes unitários e de integração implementados. Mensageria e deploy com Azure.","archived":false,"fork":false,"pushed_at":"2024-10-10T19:44:33.000Z","size":906,"stargazers_count":27,"open_issues_count":0,"forks_count":3,"subscribers_count":1,"default_branch":"develop","last_synced_at":"2025-02-02T07:31:51.219Z","etag":null,"topics":["azure","chatgpt","csharp","ddd","deployment","devops","docker","entity-framework","google","mysql","pipelines","rest-api","solid","sonarcloud","sqlserver","swagger"],"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/welissonArley.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-07-12T01:35:42.000Z","updated_at":"2025-01-29T21:42:59.000Z","dependencies_parsed_at":"2024-07-13T00:43:53.241Z","dependency_job_id":"3ead047a-0fc2-4045-ac1d-1e2a40ba2bee","html_url":"https://github.com/welissonArley/MyRecipeBook","commit_stats":null,"previous_names":["welissonarley/myrecipebook"],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/welissonArley%2FMyRecipeBook","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/welissonArley%2FMyRecipeBook/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/welissonArley%2FMyRecipeBook/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/welissonArley%2FMyRecipeBook/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/welissonArley","download_url":"https://codeload.github.com/welissonArley/MyRecipeBook/tar.gz/refs/heads/develop","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":238950485,"owners_count":19557533,"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","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":["azure","chatgpt","csharp","ddd","deployment","devops","docker","entity-framework","google","mysql","pipelines","rest-api","solid","sonarcloud","sqlserver","swagger"],"created_at":"2024-09-24T18:51:53.595Z","updated_at":"2025-10-30T09:30:38.581Z","avatar_url":"https://github.com/welissonArley.png","language":"C#","funding_links":[],"categories":[],"sub_categories":[],"readme":"## Sobre o projeto\r\n\r\n![sonarcloud-qualityGate]\r\n![sonarcloud-bugs]\r\n![sonarcloud-vulnerabilities]\r\n![sonarcloud-code-smells]\r\n![sonarcloud-coverage]\r\n![sonarcloud-duplicated-lines]\r\n\r\nApresentando o **Meu Livro de Receitas** - uma aplicação para quem adora cozinhar e compartilhar receitas! O Meu Livro de Receitas foi projetado para tornar sua vida na cozinha mais fácil, ajudando você a se organizar, gerenciar suas receitas e tornar sua experiência culinária mais agradável.\r\n\r\nEste projeto consiste em uma **API** desenvolvida em **.NET** para o gerenciamento de receitas culinárias. A **API** permite que os usuários se cadastrem fornecendo nome, e-mail e senha. Após o cadastro, os usuários podem criar, editar, filtrar e deletar receitas. Cada receita deve incluir um título, ingredientes e instruções. Adicionalmente, os usuários têm a opção de adicionar o tempo de preparo, nível de dificuldade e uma imagem ilustrativa à receita.\r\n\r\nA **API** oferece suporte para **MySQL** e **SQLServer** como opções de banco de dados, proporcionando flexibilidade na escolha do ambiente de armazenamento de dados. A configuração de pipelines **CI/CD** e a integração com **Sonarcloud** garantem uma análise contínua do código, promovendo um desenvolvimento mais robusto e seguro.\r\n\r\nSeguindo os princípios de **Domain-Driven Design (DDD)** e **SOLID**, a arquitetura do projeto busca manter um design modular e sustentável. A validação dos dados é realizada utilizando **FluentValidation**, assegurando que todas as entradas de dados atendam aos critérios estabelecidos.\r\n\r\nPara garantir a qualidade do código, são implementados **testes de unidade e de integração**. A utilização de **injeção de dependências** promove uma melhor modularidade e testabilidade do código, facilitando a manutenção e evolução do projeto.\r\n\r\nOutras tecnologias e práticas adotadas incluem o **Entity Framework** para o mapeamento objeto-relacional, a metodologia ágil **SCRUM** para o gerenciamento do projeto, e a implementação de **Tokens JWT \u0026 Refresh Token** para autenticação segura. As migrações do banco de dados são gerenciadas para assegurar uma evolução controlada do esquema de dados. Além disso, o uso de **Git** e a estratégia de ramificação **GitFlow** auxiliam na organização e controle das versões do código.\r\n\r\n# **Curso na Udemy**:\r\n### [.NET Core: um curso orientado para o mercado de trabalho][curso-udemy]\r\n\r\nEste projeto inclui um curso **abrangente** que guia os alunos e alunas sobre **como criar uma API** robusta de Gerenciamento de Receitas usando a tecnologia **.NET**. Ao longo do curso, os alunos e alunas aprenderão a projetar e desenvolver a funcionalidade de uma API, **implementar segurança, realizar testes, configurar pipelines de CI/CD e publicar o projeto no Azure**.\r\n\r\nO curso é destinado a desenvolvedores que já possuem experiência com programação e conhecimento em C# (.NET). Ele fornece todas as informações e recursos necessários para ajudar os alunos a aperfeiçoarem suas habilidades, desde a configuração do ambiente de desenvolvimento até a implementação e teste de APIs seguras e eficientes.\r\n\r\nDurante o curso, você aprenderá:\r\n\r\n- Cadastro de Usuários: Como permitir o registro de usuários com validação de email e senha.\r\n- Gerenciamento de Receitas: Criação, edição, exclusão e filtro de receitas.\r\n- Login com Google: Integração para autenticação via conta Google.\r\n- Integração com ChatGPT: Utilização de IA para melhorar a experiência do usuário.\r\n- Mensageria: Utilização de mensageria para gerenciar a exclusão de contas.\r\n- Segurança: Implementação de JWT e Refresh Token para segurança de autenticação.\r\n- Banco de Dados: Configuração e uso de MySQL ou SQLServer.\r\n- DevOps: Configuração de pipelines CI/CD e integração com Sonarcloud para análise contínua.\r\n- Arquitetura: Princípios de Domain-Driven Design (DDD) e SOLID.\r\n- Validação: Utilização de FluentValidation para validação de dados.\r\n- Testes: Implementação de testes de unidade e de integração para garantir a qualidade do código.\r\n- Injeção de Dependências: Uso de injeção de dependências para melhor modularidade e testabilidade do código.\r\n\r\nPara acessar o curso, basta clicar [neste link][curso-udemy]. \r\n\r\nTenho certeza de que este projeto e curso serão fundamentais para aprimorar suas habilidades e elevar sua proficiência como desenvolvedor Backend.\r\n\r\n\r\n![hero-image]\r\n\r\n### Features\r\n\r\n- **Gerenciamento de Receitas**: Criação, edição, exclusão e filtro de receitas. 🍲✏️🗑️🔍\r\n- **Login com Google**: Integração para autenticação via conta Google. 🔑🔗🟦\r\n- **Integração com ChatGPT**: Utilização de IA para melhorar a experiência dos usuários na geração de receitas a partir de ingredientes fornecidos. 🤖🍳\r\n- **Mensageria**: Utilização de mensageria (Service Bus - Queue), para gerenciar a exclusão de contas. 📩🗂️🚫\r\n- **Upload de Imagem**: Permite aos usuários enviar uma imagem para ilustrar suas receitas. 📸⬆️🖼️\r\n\r\n### Construído com\r\n\r\n![badge-dot-net]\r\n![badge-windows]\r\n![badge-visual-studio]\r\n![badge-mysql]\r\n![badge-sqlserver]\r\n![badge-swagger]\r\n![badge-docker]\r\n![badge-azure-devops]\r\n![badge-azure]\r\n![badge-azure-pipelines]\r\n![badge-google]\r\n![badge-openai]\r\n![badge-sonarcloud]\r\n\r\n## Getting Started\r\n\r\nPara obter uma cópia local funcionando, siga estes passos simples.\r\n\r\n### Requisitos\r\n\r\n* Visual Studio versão 2022+ ou Visual Studio Code\r\n* Windows 10+ ou Linux/MacOS com [.NET SDK][dot-net-sdk] instalado\r\n* MySql Server ou SqlServer\r\n\r\n### Instalação\r\n\r\n1. Clone o repositório:\r\n    ```sh\r\n    git clone https://github.com/welissonArley/MyRecipeBook.git\r\n    ```\r\n\r\n2. Preencha as informações no arquivo `appsettings.Development.json`.\r\n3. Execute a API e aproveite o seu teste :)\r\n\r\n## License\r\n\r\nSinta-se à vontade para usar este projeto para estudar e aprender. No entanto, a distribuição ou comercialização não é permitida.\r\n\r\n\u003c!-- Links --\u003e\r\n[dot-net-sdk]: https://dotnet.microsoft.com/en-us/download/dotnet/8.0\r\n[curso-udemy]: https://www.udemy.com/course/net-core-curso-orientado-para-mercado-de-trabalho/?referralCode=C0850BF224055DE39722\r\n\r\n\u003c!-- Images --\u003e\r\n[hero-image]: images/heroheader.png\r\n\r\n\u003c!-- Sonarcloud --\u003e\r\n[sonarcloud-dashboard]: https://sonarcloud.io/summary/overall?id=welissonArley_MyRecipeBook\r\n[sonarcloud-qualityGate]: https://sonarcloud.io/api/project_badges/measure?project=welissonArley_MyRecipeBook\u0026metric=alert_status\r\n[sonarcloud-bugs]: https://sonarcloud.io/api/project_badges/measure?project=welissonArley_MyRecipeBook\u0026metric=bugs\r\n[sonarcloud-vulnerabilities]: https://sonarcloud.io/api/project_badges/measure?project=welissonArley_MyRecipeBook\u0026metric=vulnerabilities\r\n[sonarcloud-code-smells]: https://sonarcloud.io/api/project_badges/measure?project=welissonArley_MyRecipeBook\u0026metric=code_smells\r\n[sonarcloud-coverage]: https://sonarcloud.io/api/project_badges/measure?project=welissonArley_MyRecipeBook\u0026metric=coverage\r\n[sonarcloud-duplicated-lines]: https://sonarcloud.io/api/project_badges/measure?project=welissonArley_MyRecipeBook\u0026metric=duplicated_lines_density\r\n\r\n\u003c!-- Badges --\u003e\r\n[badge-sqlserver]: https://img.shields.io/badge/Microsoft%20SQL%20Server-CC2927?logo=microsoftsqlserver\u0026logoColor=fff\u0026style=for-the-badge\r\n[badge-mysql]: https://img.shields.io/badge/MySQL-4479A1?logo=mysql\u0026logoColor=fff\u0026style=for-the-badge\r\n[badge-dot-net]: https://img.shields.io/badge/.NET-512BD4?logo=dotnet\u0026logoColor=fff\u0026style=for-the-badge\r\n[badge-windows]: https://img.shields.io/badge/Windows-0078D4?logo=windows\u0026logoColor=fff\u0026style=for-the-badge\r\n[badge-visual-studio]: https://img.shields.io/badge/Visual%20Studio-5C2D91?logo=visualstudio\u0026logoColor=fff\u0026style=for-the-badge\r\n[badge-swagger]: https://img.shields.io/badge/Swagger-85EA2D?logo=swagger\u0026logoColor=000\u0026style=for-the-badge\r\n[badge-docker]: https://img.shields.io/badge/Docker-2496ED?logo=docker\u0026logoColor=fff\u0026style=for-the-badge\r\n[badge-azure-devops]: https://img.shields.io/badge/Azure%20DevOps-0078D7?logo=azuredevops\u0026logoColor=fff\u0026style=for-the-badge\r\n[badge-azure]: https://img.shields.io/badge/Microsoft%20Azure-0078D4?logo=microsoftazure\u0026logoColor=fff\u0026style=for-the-badge\r\n[badge-azure-pipelines]: https://img.shields.io/badge/Azure%20Pipelines-2560E0?logo=azurepipelines\u0026logoColor=fff\u0026style=for-the-badge\r\n[badge-google]: https://img.shields.io/badge/Google-4285F4?logo=google\u0026logoColor=fff\u0026style=for-the-badge\r\n[badge-openai]: https://img.shields.io/badge/OpenAI-412991?logo=openai\u0026logoColor=fff\u0026style=for-the-badge\r\n[badge-sonarcloud]: https://img.shields.io/badge/SonarCloud-F3702A?logo=sonarcloud\u0026logoColor=fff\u0026style=for-the-badge","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fwelissonarley%2Fmyrecipebook","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fwelissonarley%2Fmyrecipebook","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fwelissonarley%2Fmyrecipebook/lists"}