Skip to content

⌛In progress | An API food macronutrient tracker that allows you to easily calculate the nutritional content of your meals and stay on top of your health goals.

Notifications You must be signed in to change notification settings

gabyfachini/NutriCountAPI

Repository files navigation

NutriCount API 🥗💪

NutriCount API is a robust and scalable API designed to help users track their food macronutrients, calculate the nutritional content of their meals, and stay on top of their health goals. This project follows best practices in software architecture, testing, and development workflow.


📦 Technologies Used

  • .NET Core – Backend framework
  • C# – Primary programming language
  • Entity Framework Core – ORM for database interactions
  • SQL Server – Database management
  • MySQL – Database management
  • Docker – Containerization
  • Azure DevOps – CI/CD & pipelines
  • JWT Authentication – Secure login and session management
  • RabbitMQ (Mensageria) – Message queuing for event-driven architecture
  • FluentValidation – Input validation
  • SonarCloud/SonarQube – Code quality analysis

📱 App Preview

image

Macronutrient Calculation:

  • The API automatically calculates nutritional data based on the foods entered.
  • Users receive daily feedback and summaries.

🚀 Features

  • ✅ User registration and authentication with JWT and Refresh Tokens
  • ✅ Authentication via Google Login
  • ✅ Food database with automatic calculation of macronutrients
  • ✅ Creation of a food diary with personalized nutritional monitoring
  • ✅ Consultation of nutritional data of registered foods
  • ✅ Editing and deleting food records
  • ✅ Automatic calculation of calories, proteins, carbohydrates and fats
  • ✅ Daily summary panel (planned)
  • ✅ Generation of nutritional reports (planned)
  • ✅ API built following Clean Architecture and Domain-Driven Design
  • ✅ Data validation with FluentValidation
  • ✅ Secure authentication and session management with JWT and Refresh Token
  • ✅ Messaging implementation with RabbitMQ
  • ✅ Integration with Docker for containerization
  • ✅ Integration with SonarCloud/SonarQube for code quality analysis
  • ✅ CI/CD pipelines using Azure DevOps
  • ✅ Unit tests and integration tests

📚 What You Will Learn in This Project

  • Domain-Driven Design (DDD)
  • SOLID Principles
  • Clean Code
  • Dependency Injection
  • Unit and Integration Tests
  • CI/CD with Azure DevOps
  • Automated Pipelines
  • Docker and Containerization
  • Database Migrations
  • JWT Authentication and Refresh Tokens
  • Social Login with Google
  • Messaging with RabbitMQ
  • Validation with FluentValidation
  • Quality Analysis with SonarCloud/SonarQube
  • Git & GitFlow
  • Agile SCRUM Methodology

🤝 Contributing

Contributions are welcome! Open an issue, suggest improvements or submit your pull request.

About

⌛In progress | An API food macronutrient tracker that allows you to easily calculate the nutritional content of your meals and stay on top of your health goals.

Topics

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages