SuperFoodAI is an AI-powered recipe recommendation system. It generates healthy and creative recipe ideas based on the ingredients you have or prompts you define. Users can create menus from suggested recipes, add favorites, and even share their selections.
SuperFoodAI aims to promote healthy and sustainable eating habits by leveraging artificial intelligence.
- AI-Powered Suggestions: Get recipe ideas tailored to your input.
- Favorites & Menus: Save your favorite recipes or organize them into menus.
- User-Friendly Design: A simple and intuitive interface for all users.
- Ingredient-Based Recipe Suggestions: Input your available ingredients to receive personalized recipes.
- AI-Prompted Recommendations: Create recipes based on specific prompts, such as cuisine types, dietary restrictions, or preferences.
- Favorite & Menu Management: Save recipes to your favorites or compile them into organized menus.
- Focus on Health & Sustainability: Encourages the use of healthy ingredients and sustainable cooking practices.
SuperFoodAI consists of three main modules:
- Client:
- Built with
React.jsandBootstrapfor a responsive and interactive user interface.
- Built with
- Server:
- Developed using
Node.js,Express.js, andFastAPIto handle API requests and backend logic. - Manages user authentication with
JWT.
- Developed using
- AI:
- Powered by
PythonandNLPtechniques for generating recipe recommendations. - Integrated with the backend for seamless interaction.
- Powered by
- React.js: For building the user interface
- Bootstrap: For responsive and user-friendly designs
- Python: For AI models and API development
- FastAPI: A fast and scalable web framework for APIs
- Node.js: JavaScript runtime for backend applications
- Express.js: Lightweight and flexible web application framework
- Sequelize: ORM for Node.js
- JWT (JSON Web Tokens): For authentication and session management
- pandas: For data manipulation and analysis
- scikit-learn: For machine learning and text vectorization using TF-IDF and cosine similarity
- nltk: For natural language processing tasks such as tokenization, lemmatization, and stopword removal
- googletrans: For translating data to Turkish
- difflib: For finding close matches in text data
- SQLAlchemy: ORM (Object Relational Mapping) for Python
- PostgreSQL: A robust and scalable relational database
- Jest: JavaScript testing framework
- Selenium: Used for web scraping and automation with Chrome WebDriver