Norish开发入门:从API接口到插件开发的完整技术文档
Norish开发入门从API接口到插件开发的完整技术文档【免费下载链接】norishNorish - A realtime, self-hosted recipe app for families friends项目地址: https://gitcode.com/gh_mirrors/no/norishNorish是一款实时的、自托管的家庭和朋友食谱应用本指南将帮助开发者从API接口使用到插件开发快速掌握Norish的技术架构和扩展方式。通过本文你将了解如何搭建开发环境、利用API接口进行数据交互以及开发自定义插件来扩展Norish的功能。开发环境搭建环境要求Node.js22.22.0见.nvmrcpnpm10.x或更高版本Docker用于PostgreSQL、Redis和无头ChromeGit本地开发设置# 克隆仓库 git clone https://gitcode.com/gh_mirrors/no/norish cd norish # 安装依赖 pnpm install # 创建环境文件 cp .env.example .env.local # 启动所需服务Postgres、Redis、Chrome pnpm run docker:up # 运行Web应用 pnpm run dev # 运行移动应用Expo pnpm run dev:mobile至少需要在.env.local中配置DATABASE_URL、REDIS_URL、AUTH_URL和MASTER_KEY使用openssl rand -base64 32生成。详细配置可参考Server runtime和Database。API接口详解Norish在/api/v1路径下提供HTTP API接口方便开发者进行数据交互和扩展。认证方式通过以下任一方式传递API密钥x-api-key: your-api-keyAuthorization: Bearer your-api-key注意/api/docs和/api/openapi.json需要已登录的Web会话GET /api/v1/health是公开的健康检查接口其他所有/api/v1端点都需要API凭证。主要端点健康检查GET /api/v1/health- 公共健康检查接口返回API和内部解析器服务的健康状态。食谱管理GET /api/v1/recipes/{id}- 获取指定ID的食谱详情POST /api/v1/recipes/search- 列出食谱支持可选过滤条件POST /api/v1/recipes/import/url- 从URL导入食谱POST /api/v1/recipes/import/paste- 粘贴导入食谱POST /api/v1/recipes/search返回分页的食谱列表可选过滤条件包括search、searchFields、tags、categories、filterMode、sortMode、minRating和maxCookingTime。cursor默认为0limit默认为50。食材管理GET /api/v1/groceries- 获取食材列表POST /api/v1/groceries- 添加新食材PATCH /api/v1/groceries/{id}/done- 标记食材为已购买PATCH /api/v1/groceries/{id}/undone- 标记食材为未购买PATCH /api/v1/groceries/{id}/store- 更新食材的存储位置DELETE /api/v1/groceries/{id}- 删除食材针对单个食材的修改端点需要version字段以实现乐观并发控制。PATCH /api/v1/groceries/{id}/store在请求体中接受storeId和可选的savePreference。商店管理GET /api/v1/stores- 获取商店列表POST /api/v1/stores- 添加新商店计划食谱GET /api/v1/planned-recipes/today- 获取今日计划食谱GET /api/v1/planned-recipes/week- 获取本周计划食谱GET /api/v1/planned-recipes/month- 获取本月计划食谱POST /api/v1/planned-recipes- 添加计划食谱DELETE /api/v1/planned-recipes/{itemId}- 删除计划食谱计划食谱范围端点使用服务器时区来确定今天/周/月的边界周范围是从周一到周日。插件开发指南虽然Norish目前没有专门的插件系统但可以通过以下方式扩展功能共享模块开发Norish采用模块化架构通过创建共享模块可以实现功能扩展。主要共享模块位于packages/shared-react/src/hooks/和packages/shared-react/src/contexts/目录下。例如创建一个新的共享钩子模块在packages/shared-react/src/hooks/目录下创建新的钩子文件实现钩子逻辑确保不导入特定平台的模块在packages/shared-react/src/index.ts中导出新钩子集成第三方服务可以通过API接口集成第三方服务例如集成AI食材识别服务添加新的食谱导入来源连接外部日历服务集成方式通常是创建新的API端点或使用现有端点的扩展参数具体实现可参考packages/api/src/parser/目录下的解析器模块。自定义主题和样式Norish使用Tailwind CSS进行样式管理可以通过以下方式自定义主题修改tooling/tailwind/heroui-theme.css文件扩展tooling/tailwind/heroui-theme.js中的主题配置在应用中使用自定义CSS类高级开发技巧测试策略Norish使用Vitest进行测试测试文件通常与被测试模块放在同一目录下命名为*.test.ts或*.test.tsx。可以使用以下命令运行测试pnpm run test代码质量工具项目使用ESLint和Prettier进行代码质量控制相关配置位于tooling/eslint/和tooling/prettier/目录下。提交代码前建议运行pnpm run lint pnpm run format性能优化使用React.memo和useMemo优化组件渲染合理使用TanStack Query进行数据缓存优化图片加载使用适当的尺寸和格式总结Norish提供了强大的API接口和模块化架构使开发者能够轻松扩展其功能。通过本文介绍的开发环境搭建、API接口使用和插件开发方法你可以开始构建自定义功能和集成第三方服务。如需更多帮助请参考项目中的开发命令文档和贡献指南。祝你的Norish开发之旅顺利 【免费下载链接】norishNorish - A realtime, self-hosted recipe app for families friends项目地址: https://gitcode.com/gh_mirrors/no/norish创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考

相关新闻

Windows 11任务栏拖放功能深度解析:轻量级开源解决方案完整指南

Windows 11任务栏拖放功能深度解析:轻量级开源解决方案完整指南

Windows 11任务栏拖放功能深度解析:轻量级开源解决方案完整指南 【免费下载链接】Windows11DragAndDropToTaskbarFix "Windows 11 Drag & Drop to the Taskbar (Fix)" fixes the missing "Drag & Drop to the Taskbar" support in Wind…

2026/7/27 21:11:42 阅读更多 →
10个Chunky渲染技巧:提升Minecraft截图真实感的实用方法

10个Chunky渲染技巧:提升Minecraft截图真实感的实用方法

10个Chunky渲染技巧:提升Minecraft截图真实感的实用方法 【免费下载链接】chunky A path tracer to create realistic images of your Minecraft worlds. 项目地址: https://gitcode.com/gh_mirrors/ch/chunky Chunky是一款强大的路径追踪工具,专…

2026/7/27 21:11:42 阅读更多 →
计算机毕业设计之基于springboot的高校学生管理系统

计算机毕业设计之基于springboot的高校学生管理系统

本论文借助 Java 编程语言,运用VUE 前端架构及SpringBoot 后端架构,以 MySQL 数据库为依托,对一套高校学生管理系统进行了分析和设计。此系统包括课程信息、选课信息等功能,并划分为学生、教师和管理员三个角色,各角色…

2026/7/27 21:11:42 阅读更多 →

最新新闻

springboot 学院宣传网站

springboot 学院宣传网站

一、关键词学院宣传网站、学院宣传网站信息管理、学院宣传网站后台管理二、作品包含源码数据库万字设计文档PPT全套环境和工具资源本地部署教程三、项目技术前端技术: Html、Css、Js、Vue3.2、Element-Plus后端技术:Java、SpringBoot3.3.0、MyBatis-Plus…

2026/7/27 21:20:44 阅读更多 →
springboot 中医药养生个性化推荐系统

springboot 中医药养生个性化推荐系统

一、关键词中医药养生、中药药材、药膳配方、健康运动、饮食建议、个性化推荐二、作品包含源码数据库万字设计文档全套环境和工具资源本地部署教程三、项目技术前端技术: Html、Css、Js、Vue2.6、Element-ui后端技术:Java、SpringBoot2.2.2、MyBatis-Plu…

2026/7/27 21:20:44 阅读更多 →
大模型与小模型联合优化视频分析技术

大模型与小模型联合优化视频分析技术

1. 大模型与小模型联合应用的背景与价值 在当前的AI技术发展浪潮中,模型规模的扩大似乎已经成为一种趋势。然而,单纯追求模型规模的扩大并非总是最优解。大模型虽然具备强大的泛化能力和复杂任务处理能力,但也面临着计算资源消耗大、推理延迟…

2026/7/27 21:20:44 阅读更多 →
从源码到部署:详解WonderCMS的PHP核心代码与服务器配置技巧

从源码到部署:详解WonderCMS的PHP核心代码与服务器配置技巧

从源码到部署:详解WonderCMS的PHP核心代码与服务器配置技巧 【免费下载链接】wondercms Fast and small flat file CMS (5 files). Built with PHP, JSON database. 项目地址: https://gitcode.com/gh_mirrors/wo/wondercms WonderCMS是一款超轻量级的平面文…

2026/7/27 21:20:44 阅读更多 →
基于YOLOv10的足球运动员实时检测系统开发实践

基于YOLOv10的足球运动员实时检测系统开发实践

1. 项目概述 作为一名长期从事计算机视觉应用的开发者,我最近完成了一个基于YOLOv10的足球运动员检测系统。这个项目最初源于我对体育科技的兴趣,以及在实际工作中遇到的视频分析需求。传统的人工视频标注方式效率低下,一场90分钟的比赛往往需…

2026/7/27 21:20:44 阅读更多 →
FFmpeg C/C++编程入门:从核心概念到实战转码与缩放

FFmpeg C/C++编程入门:从核心概念到实战转码与缩放

1. 项目概述:为什么选择FFmpeg作为音视频开发的起点? 如果你正在用C或C做开发,并且对处理视频、音频、直播流这些内容感兴趣,那么FFmpeg几乎是你绕不开的一个名字。它不是一个简单的播放器,而是一个功能极其强大的多媒…

2026/7/27 21:19:43 阅读更多 →

日新闻

【JAVA毕设源码分享】基于SpringBoot的社区智能垃圾管理系统的设计与实现(程序+文档+代码讲解+一条龙定制)

【JAVA毕设源码分享】基于SpringBoot的社区智能垃圾管理系统的设计与实现(程序+文档+代码讲解+一条龙定制)

博主介绍:✌️码农一枚 ,专注于大学生项目实战开发、讲解和毕业🚢文撰写修改等。全栈领域优质创作者,博客之星、掘金/华为云/阿里云/InfoQ等平台优质作者、专注于Java、小程序技术领域和毕业项目实战 ✌️技术范围:&am…

2026/7/27 0:00:54 阅读更多 →
SPI实战指南:从时钟模式到寄存器配置,解决嵌入式通信难题

SPI实战指南:从时钟模式到寄存器配置,解决嵌入式通信难题

1. 项目概述:从寄存器手册到实战指南 如果你手头有一份类似德州仪器(TI)TMS320x240xA系列DSP的SPI模块技术手册,看着里面密密麻麻的寄存器位定义、时序图和公式,是不是感觉头大?这份资料虽然权威&#xff0…

2026/7/27 0:00:54 阅读更多 →
【JAVA毕设源码分享】基于springboot的水果购物管理系统的设计与实现(程序+文档+代码讲解+一条龙定制)

【JAVA毕设源码分享】基于springboot的水果购物管理系统的设计与实现(程序+文档+代码讲解+一条龙定制)

博主介绍:✌️码农一枚 ,专注于大学生项目实战开发、讲解和毕业🚢文撰写修改等。全栈领域优质创作者,博客之星、掘金/华为云/阿里云/InfoQ等平台优质作者、专注于Java、小程序技术领域和毕业项目实战 ✌️技术范围:&am…

2026/7/27 0:00:54 阅读更多 →

周新闻

深度学习道路桥梁裂缝检测系统 道路桥梁裂缝检测数据集 道路桥梁病害识别检测数据集

深度学习道路桥梁裂缝检测系统 道路桥梁裂缝检测数据集 道路桥梁病害识别检测数据集

深度学习道路桥梁裂缝检测系统 数据集6000张 完整源码已标注数据集训练好的模型环境配置教程程序运行说明文档,可以直接使用!系统支持图片、视频、摄像头等多种方式检测裂缝,功能强大实用。 1数据集6000张 8各类别

2026/7/27 4:33:59 阅读更多 →
深度学习YOLO模型如何训练 PUBG 绝地求生目标检测数据集

深度学习YOLO模型如何训练 PUBG 绝地求生目标检测数据集

pubg数据集 精选原图1.42万数据 1.49万标签 无任何重复、算法增强或冗余图像! pubg绝地求生目标检测数据集 1分类:e_body,14905个标签,txt格式 共计14244张图,99%为640*640尺寸图像 适合yolo目标检测、AI训练关键词&am…

2026/7/27 6:31:56 阅读更多 →
Apex英雄目标检测数据集 深度学习框架YOLO如何训练APEX数据集

Apex英雄目标检测数据集 深度学习框架YOLO如何训练APEX数据集

Apex检测数据集数据集详情检测类别: allies enemy tag图片总量:7247张训练集:5139张验证集:1425张测试集:683张标注状态:全部已标注,即拿即用数据格式:支持YOLO格式及其他格式&#…

2026/7/27 4:01:12 阅读更多 →

月新闻