当前位置: 首页 > ops >正文

新作品:吃啥好呢 - 个性化美食推荐

舔狗日记已开源~,传送门:《新作品《舔狗日记》:在爱的剧本里,我们都是自己的主角》

GitHub:https://github.com/jonssonyan/dog-diary

前言

大家好。

今年 3 月份一个朋友和我说他有一个需求,就是不知道每天吃什么,我是不是可以开发一个推荐美食的网站?这样他就不需要每天纠结吃什么了,甚至可以直接生成菜谱,参照菜谱自己动手做饭。

我有时候也有这样的困惑,每次点外卖不知道点什么,而且在此不久前我开发过一个“玩具”作品:《舔狗日记》,积累了一些全栈开发的经验,技术框架也都大同小异,正好可以再熟练一下。

之前开发舔狗日记的时候做的比较简单,很多技术都没有跑通,比如:国际化,Google 登录,日志管理,认证、鉴权、限流等,这次可以全部用上。

吃啥好呢

在线演示:https://eat.jonssonyan.com

GitHub:https://github.com/jonssonyan/what-to-eat

于是我开发了第 2 个全栈作品:吃啥好呢,个性化菜谱推荐与收藏系统,支持多条件定制、国际化、第三方登录,助你轻松解决“今天吃什么”的难题。

登录之后可以看到自己收藏过的菜谱,也可以取消收藏,收藏越多可以解锁更高级的称号。

主要功能

  • 个性化菜谱推荐:支持饮食偏好、口味、烹饪时间、难度等多条件定制
  • 菜谱收藏夹:一键收藏、管理你的专属菜谱
  • 用户称号系统:根据收藏数量自动授予等级称号
  • 国际化支持:中英文切换,界面友好
  • 第三方登录:支持 Google 登录
  • 更新日志与反馈:随时查看历史变更,欢迎提出建议
  • 移动端适配:良好的移动端体验

部署

一开始的时候我和大部分人一样部署在 vercel + supabase 上面,后来项目多了限制有点多,cloudflare workers 只支持 edge 运行时,目前看很坑。于是统一切换到自建服务器,使用 Docker 运维。

管理证书使用我自己手搓的 nginx-acme 自动申请和续签的 ssl 证书,使用 Nginx 作为网关+反代,通过域名转发至不同的服务器。

nginx-acme:https://github.com/jonssonyan/nginx-acme

期间也遇到了一些坑,但是都解决了,也就踩一次。这些我会单独写一篇文章给大家分享我部署过程中遇到的问题。

技术栈

《吃啥好呢》本质没有跑通商业闭环,属于自己探索的练手项目,但是项目里面使用到了很多全栈开发的技术,把整个产品开发流程给跑通了,你想找个项目参考练手来学习全栈开发的话,这是一个很好的例子。

  • Next.js 14 (React 18):前端框架
  • TypeScript:编程语言
  • Tailwind CSS:CSS 样式
  • next-auth:认证和鉴权
  • next-intl:国际化
  • rate-limiter-flexible:限流
  • Prisma:ORM
  • MySQL:数据库
  • Docker:部署运维
  • Zod:参数校验
  • Winston:日志
  • winston-daily-rotate-file:日志滚动

总结

这个作品其实我几个月前就已经写好了,期间一直在优化代码,想把代码做到精简,每一行是干什么的,没有行不行,同时也借助了很多 AI 对代码进行重构和 Review,这样我就可以前期将大部分的问题都踩一遍,找出自己用的最顺手的模板,以后开发新产品就更加轻松了。

准备把我开发这些作品过程中总结的全栈开发经验整理成在线文档,欢迎关注

http://www.xdnf.cn/news/15102.html

相关文章:

  • [面试] 手写题-爬楼梯,斐波那契数列
  • 利用Claude code,只用文字版系统设计大纲,就能轻松实现系统~
  • Kafka——应该选择哪种Kafka?
  • 京东携手HarmonyOS SDK首发家电AR高精摆放功能
  • 【深度学习新浪潮】图像生成有哪些最新进展?
  • 光电耦合器在电冰箱开关电源的应用
  • pandas销售数据分析
  • Cesium实战:交互式多边形绘制与编辑功能完全指南(最终修复版)
  • 前端面试专栏-算法篇:23. 图结构与遍历算法
  • Java(7.11 设计模式学习)
  • python的社区残障人士服务系统
  • Grok 4全面解析:马斯克的多智能体AI如何颠覆技术边界
  • 格式规范公文处理助手:一键排版 标题 / 正文 / 页码一键调,Word 脚本自定义
  • 嵌入式学习笔记--MCU阶段--day03中断
  • 网安系列【16】之Weblogic和jboss漏洞
  • 二层环路避免-STP技术
  • Transformer架构:结构介绍
  • STM32F103C8T6单片机内部执行原理及启动流程详解
  • 使用Tensorflow和CNN进行猫狗图片训练的实战总结
  • 【CF】⭐Day96——2025武汉ICPC(AILF)
  • MyBatis插件机制揭秘:从拦截器开发到分页插件实战
  • 深度学习_全连接神经网络
  • 单片机基础(STM32-DAY2(GPIO))
  • 如何发现 Redis 中的 BigKey?
  • 【计算机网络】HTTP1.0 HTTP1.1 HTTP2.0 QUIC HTTP3 究极总结
  • STM32 中实现 Modbus RTU
  • OneCode AI注解框架:让传统软件15分钟升级为AI原生应用
  • 从零开始搭建深度学习大厦系列-3.卷积神经网络基础(5-9)
  • 【Note】Linux Kernel 实时技术深入:详解 PREEMPT_RT 与 Xenomai
  • python+django/flask基于微信小程序的农产品管理与销售APP系统