https://github.com/gabyfachini/nutricountapi
A API food macronutrient tracker that allows you to easily calculate the nutritional content of your meals and stay on top of your health goals.
https://github.com/gabyfachini/nutricountapi
azure-devops ci-cd clean-architecture clean-code database dependency-injection docker domain-driven-design entity-framework jwt-authentication mysql solid sqlserver unit-testing
Last synced: 2 months ago
JSON representation
A API food macronutrient tracker that allows you to easily calculate the nutritional content of your meals and stay on top of your health goals.
- Host: GitHub
- URL: https://github.com/gabyfachini/nutricountapi
- Owner: gabyfachini
- Created: 2025-02-15T17:38:45.000Z (over 1 year ago)
- Default Branch: main
- Last Pushed: 2025-07-08T23:48:18.000Z (11 months ago)
- Last Synced: 2025-10-06T01:39:15.388Z (8 months ago)
- Topics: azure-devops, ci-cd, clean-architecture, clean-code, database, dependency-injection, docker, domain-driven-design, entity-framework, jwt-authentication, mysql, solid, sqlserver, unit-testing
- Language: C#
- Homepage:
- Size: 447 KB
- Stars: 1
- Watchers: 1
- Forks: 0
- Open Issues: 5
-
Metadata Files:
- Readme: README-PT.md
Awesome Lists containing this project
README
# NutriCount API š„šŖ
**NutriCount API** é uma API robusta e escalÔvel, projetada para ajudar os usuÔrios a acompanhar seus macronutrientes alimentares, calcular o valor nutricional de suas refeições e manter o controle de suas metas de saúde. Este projeto segue as melhores prÔticas de arquitetura de software, testes e fluxo de desenvolvimento.
---
## š¦ Tecnologias Utilizadas
- **.NET Core** ā Framework backend
- **C#** ā Linguagem de programação principal
- **Entity Framework Core** ā ORM para interação com o banco de dados
- **SQL Server** ā Gerenciamento de banco de dados
- **MySQL** ā Gerenciamento de banco de dados
- **Docker** ā Containerização
- **Azure DevOps** ā CI/CD e pipelines
- **Autenticação JWT** ā Login seguro e gerenciamento de sessƵes
- **RabbitMQ (Mensageria)** ā Fila de mensagens para arquitetura orientada a eventos
- **FluentValidation** ā Validação de entrada
- **SonarCloud/SonarQube** ā AnĆ”lise de qualidade de código
---
## š± Visualização do App

**CƔlculo de Macronutrientes:**
- A API calcula automaticamente os dados nutricionais com base nos alimentos inseridos.
- Os usuƔrios recebem feedback e resumos diƔrios.
---
## š Funcionalidades
- ā
Cadastro e autenticação de usuÔrios com JWT e Refresh Tokens
- ā
Autenticação via Google Login
- ā
Banco de dados de alimentos com cƔlculo automƔtico de macronutrientes
- ā
Criação de diÔrio alimentar com acompanhamento nutricional personalizado
- ā
Consulta de dados nutricionais de alimentos cadastrados
- ā
Edição e exclusão de registros alimentares
- ā
CĆ”lculo automĆ”tico de calorias, proteĆnas, carboidratos e gorduras
- ā
Painel de resumo diƔrio (planejado)
- ā
Geração de relatórios nutricionais (planejado)
- ā
API construĆda seguindo Clean Architecture e Domain-Driven Design
- ā
Validação de dados com FluentValidation
- ā
Gerenciamento seguro de autenticação e sessões com JWT e Refresh Token
- ā
Implementação de mensageria com RabbitMQ
- ā
Integração com Docker para containerização
- ā
Integração com SonarCloud/SonarQube para anÔlise de qualidade de código
- ā
Pipelines de CI/CD utilizando Azure DevOps
- ā
Testes unitÔrios e testes de integração
---
## š O Que VocĆŖ Aprende Neste Projeto
- Domain-Driven Design (DDD)
- PrincĆpios SOLID
- Clean Code
- Injeção de Dependência
- Testes UnitÔrios e de Integração
- CI/CD com Azure DevOps
- Pipelines Automatizadas
- Docker e Containerização
- Migrations de Banco de Dados
- Autenticação JWT e Refresh Tokens
- Login Social com Google
- Mensageria com RabbitMQ
- Validação com FluentValidation
- AnƔlise de Qualidade com SonarCloud/SonarQube
- Git & GitFlow
- Metodologia Ćgil SCRUM
---
## š¤ Contribuindo
Contribuições são bem-vindas! Abra uma issue, sugira melhorias ou envie seu pull request.