MyRecipeBook

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.

Stars
9

Sobre o projeto

Apresentando 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.

Este 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.

A 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.

Seguindo 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.

Para 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.

Outras 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 & 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.

Curso na Udemy:

.NET Core: um curso orientado para o mercado de trabalho

Este 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.

O 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.

Durante o curso, você aprenderá:

  • Cadastro de Usuários: Como permitir o registro de usuários com validação de email e senha.
  • Gerenciamento de Receitas: Criação, edição, exclusão e filtro de receitas.
  • Login com Google: Integração para autenticação via conta Google.
  • Integração com ChatGPT: Utilização de IA para melhorar a experiência do usuário.
  • Mensageria: Utilização de mensageria para gerenciar a exclusão de contas.
  • Segurança: Implementação de JWT e Refresh Token para segurança de autenticação.
  • Banco de Dados: Configuração e uso de MySQL ou SQLServer.
  • DevOps: Configuração de pipelines CI/CD e integração com Sonarcloud para análise contínua.
  • Arquitetura: Princípios de Domain-Driven Design (DDD) e SOLID.
  • Validação: Utilização de FluentValidation para validação de dados.
  • Testes: Implementação de testes de unidade e de integração para garantir a qualidade do código.
  • Injeção de Dependências: Uso de injeção de dependências para melhor modularidade e testabilidade do código.

Para acessar o curso, basta clicar neste link.

Tenho certeza de que este projeto e curso serão fundamentais para aprimorar suas habilidades e elevar sua proficiência como desenvolvedor Backend.

Features

  • Gerenciamento de Receitas: Criação, edição, exclusão e filtro de receitas. 🍲✏️🗑️🔍
  • Login com Google: Integração para autenticação via conta Google. 🔑🔗🟦
  • 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. 🤖🍳
  • Mensageria: Utilização de mensageria (Service Bus - Queue), para gerenciar a exclusão de contas. 📩🗂️🚫
  • Upload de Imagem: Permite aos usuários enviar uma imagem para ilustrar suas receitas. 📸⬆️🖼️

Construído com

Getting Started

Para obter uma cópia local funcionando, siga estes passos simples.

Requisitos

  • Visual Studio versão 2022+ ou Visual Studio Code
  • Windows 10+ ou Linux/MacOS com .NET SDK instalado
  • MySql Server ou SqlServer

Instalação

  1. Clone o repositório:

    git clone https://github.com/welissonArley/MyRecipeBook.git
    
  2. Preencha as informações no arquivo appsettings.Development.json.

  3. Execute a API e aproveite o seu teste :)

License

Sinta-se à vontade para usar este projeto para estudar e aprender. No entanto, a distribuição ou comercialização não é permitida.

Related Projects