之前分享了我的第一个全栈开发项目:舔狗日记,现在开源了,捞一下,可以看前文 开源地址: https://github.com/jonssonyan/dog-diary 新作品:《舔狗日记》舔狗舔到最后一无所有 新作品:吃啥好呢 个性化菜谱推荐与收藏系统,支持多条件定制、国际化、第三方登录,助你轻松解决“今天吃什么”的难题。 在线地址: https://eat.jonssonyan.com 开源地址: https://github.com/jonssonyan/what-to-eat
主要功能:
🍽️ 个性化菜谱推荐:支持饮食偏好、口味、烹饪时间、难度等多条件定制 ⭐ 菜谱收藏夹:一键收藏、管理你的专属菜谱 🏷️ 用户称号系统:根据收藏数量自动授予等级称号 🌍 国际化支持:中英文切换,界面友好 🔒 第三方登录:支持 Google 登录 📝 更新日志与反馈:随时查看历史变更,欢迎提出建议 📱 移动端适配:良好的移动端体验
技术栈:
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:日志滚动
部署: 一开始的时候我和大部分人一样部署在 vercel + supabase 上面,后来项目多了限制有点多,cloudflare workers 只支持 edge 运行时,目前看很坑。于是统一切换到自建服务器,使用 Docker 运维。 管理证书使用我自己手搓的 nginx-acme 自动申请和续签的 ssl 证书,使用 Nginx 作为网关+反代,通过域名转发至不同的服务器。 bash <(curl -fsSL https://raw.githubusercontent.com/jonssonyan/nginx-acme/refs/heads/main/install.sh)
欢迎 Star 🌟 准备把我开发这些作品过程中总结的全栈开发经验整理成在线文档,欢迎关注