Skip to content

anasinik/smart-nutri-food-order

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

45 Commits
 
 
 
 
 
 
 
 
 
 

Repository files navigation


Smart Nutri Food Order

A smart food ordering platform with an AI-powered nutritionist assistant

Report Bug · Request Feature


Table of Contents

  1. About The Project
  2. Built With
  3. Architecture
  4. Getting Started
  5. Usage

About The Project

Smart Nutri Food Order is a web platform that allows users to browse restaurants and their menus, place food orders, and get personalized meal recommendations from an AI-powered nutritionist assistant.

The platform supports three types of users:

  • Admin — manages the platform and adds restaurant managers
  • Restaurant Manager — manages their restaurant's menu and dishes
  • Customer — browses restaurants, places orders, and interacts with the smart assistant

Smart Nutritionist Assistant

The highlight of the platform is the AI nutritionist — a RAG-based model powered by OpenAI. Customers can describe their nutritional needs (calories, proteins, sugar limits, etc.) and the assistant recommends real dishes available on the platform. The knowledge base is enriched with local restaurant and food data (e.g. Novi Sad area), making recommendations contextually relevant.


Built With

Backend

.NET

Frontend

Angular

AI

OpenAI


Architecture

Backend — Clean Architecture

The backend is built using .NET following the Clean Architecture pattern, organized into clearly separated layers:

📦 Solution
 ┣ 📂 Domain
 ┣ 📂 Application
 ┣ 📂 Infrastructure
 ┗ 📂 Web (API)

This structure ensures that business logic is fully decoupled from infrastructure concerns, making the codebase testable, maintainable, and easy to extend.

Frontend — Single Page Application

The frontend is an Angular SPA that communicates with the backend via REST API. It provides a seamless, dynamic user experience without full page reloads.


Getting Started

Prerequisites

Installation

  1. Clone the repository

    git clone https://github.com/anasinik/smart-nutri-food-order.git
    cd smart-nutri-food-order
  2. Backend setup

    cd backend/FoodOrderApi/src/FoodOrderApi.Web

    Configure your connection string and OpenAI key in appsettings.json:

    {
     "AzureOpenAI": {
       "Endpoint": "https://your-resource.openai.azure.com/",
       "ApiKey": "your_azure_openai_api_key",
       "ModelName": "gpt-4o",
       "Deployment": "gpt-4o",
       "EmbeddingDeployment": "text-embedding-3-large",
       "ApiVersion": "2025-01-01-preview"
     }
    }

    Run the API:

    dotnet run
  3. Frontend setup

    cd frontend
    npm install
    ng serve
  4. Open your browser at http://localhost:4200


Usage

  • Register or log in as a customer to browse restaurants and place orders
  • Use the Smart Nutritionist chat to find meals that fit your dietary goals — just describe what you're looking for (e.g. "high protein, under 600 calories") and the assistant will suggest available dishes from real restaurants
  • Admin users can manage restaurant managers through the admin panel
  • Restaurant managers can add and update their menu items

(back to top)

About

Food ordering application with a smart nutrition assistant that recommends meals from local restaurants based on user-defined nutritional goals (calories, protein, sugar, etc.).

Topics

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors