
## Overview
The RestaurantMenu module provides a flexible way to display menus, categories, and menu items within an Oqtane-based site. It integrates seamlessly with Blazor and leverages standard Oqtane API endpoints for easy administration and customization.
## Key Features
1. **Menus**
• Define separate menus, each with its own name, description, images, and availability times.
• Organize multiple menus for different locations or occasions.
2. **Categories**
• Group related menu items under specific categories.
• Provide descriptions and sort categories for neat display.
3. **Items**
• List each individual menu item with name, description, price, and images.
• Mark items as new or featured, and sort them by priority.
• Link items to optional add-ons or upsells.
4. **Attributes**
• Store extra attributes as needed (for example, gluten-free, spicy, or other labels).
• Use them to categorize items or add item-specific notes.
5. **Nutrition Information**
• Display calories, protein, carbohydrates, fat, and sodium data.
• Apply dynamic formatting for a clean user experience.
6. **Customization Options**
• Modify menu designs with user-defined images, colors, and item arrangement.
• Include item options and additional pricing to create custom variations.
7. **Administration**
• Manage menus, categories, and items in an integrated dashboard.
• Control module settings such as the default menu, active attributes, and other parameters.
• Restrict viewing or editing through Oqtane’s built-in permission system.
## Architecture
• Built using Blazor and integrates directly with Oqtane’s modular framework.
• Separates data models (menus, items, categories) in distinct services and repositories following Oqtane patterns.
• Incorporates multi-layer data access (server manager, repository, migrations) to handle module installation and updates.
## Implementation
• Utilizes standard ASP.NET Core and Blazor patterns.
• Implements portable module interfaces (IInstallable, IPortable, ISearchable) for seamless Oqtane compatibility.
• Consumes Oqtane’s structured API endpoints for retrieving data and updating menu records.
• Offers local storage of images and references for easy theming.
For more information, including setup and configuration details, refer to the official Oqtane documentation.
120 OLD FREEMANS WAY, BREWSTER, MA 02631
MAILING: P.O. BOX 2342, BREWSTER, MA 02631