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

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

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,这样我就可以前期将大部分的问题都踩一遍,找出自己用的最顺手的模板,以后开发新产品就更加轻松了。

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

相关推荐
AI360labs_atyun38 分钟前
Java在AI时代的演进与应用:一个务实的视角
java·开发语言·人工智能·科技·学习·ai
哈__4 小时前
学弟让我帮忙写一个学生管理系统的后端,我直接上科技
人工智能·ai
我爱一条柴ya5 小时前
【AI大模型】RAG系统组件:向量数据库(ChromaDB)
数据库·人工智能·pytorch·python·ai·ai编程
哈__1 天前
文心一言4.5开源部署指南及文学领域测评
人工智能·ai·文心一言·paddlepaddle
小阿鑫1 天前
AI领域又新增协议: AG-UI
ai·agent·mcp·a2a·ag-ui
魂兮归乡1 天前
B2、进度汇报(— 25/06/16)
经验分享·spring boot·ai·vue·团队开发·课程设计·web app
踏莎行hyx1 天前
使用langchain连接llama.cpp部署的本地deepseek大模型开发简单的LLM应用
c++·ai·langchain·大模型·llama.cpp·deepseek
虾条_花吹雪1 天前
Spring for Apache Pulsar->Reactive Support->Message Production
ai·spring pulsar