一个用于发布日常瞬间的微博系统,随时随地掌握瞬间。
前端基于 NextJS(SSG) / React / TypeScript / Ant Design / Axios / ahooks / TailwindCSS 开发。
后端基于 NestJS / TypeScript / TypeORM 开发。
后端仓库(开发中,未开放):https://gitee.com/yoniu/homepage-api
- 移动端支持,随时随地发布 Moment📱💻
- 多种展示方式:Image Item、Text Item
- 每一条 Moment 可以搭配一条音乐,切换 moment 自动播放
- Image Item 图片自动轮播,搭配背景音乐,米米的
- Text Item 支持插入图片多宫格、支持标题显示、Markdown 保存(想换系统顺手的事)
- 支持 Meting 获取音乐详情(获取的音乐 url 暂时不支持播放)
- 支持文件上传(backblaze: 基于 AWS S3,意思是只要是 AWS S3 类的对象存储都可以)
- 支持友链设置(静态渲染,每次修改友链请重新构建部署,对友链双方 SEO 友好)
- 适配 HashNode 获取最新文章
- 适配 Twikoo 评论系统
- 背景音乐曲库(保存当前使用,下次不用重新添加,直接从曲库里面找。也可以到曲库页面添加。)
- Moment 详情页(信息流可能导致过往日期太久的 moment 无人问津)
- Video Item 支持视频发布(自己准备好视频云存储,还是基于 AWS S3)
- Live Photo Item 支持 Live Photo 发布(web 端无法上传 live photo,后续可能会出 APP,安卓妹别想了)
- 除了 Text Item 其他 Item 支持添加浮动文字、贴纸
- 加入 AI 支持(可能是根据 moment 内容自动生成背景音乐?)
- ...
请保证 Node.js 版本 >= 18.18。后端需要运行环境,不是纯静态项目。
推荐宝塔一把梭,也可以使用 Cloudflare Pages 前端,宝塔做后端。
环境变量(没有设置环境变量的东西就在开发目录下面加一个 .env
文件):
NEXT_PUBLIC_HOMEPAGE_API=<后端连接>
NEXT_PUBLIC_TWIKOO_ENVID=<Twikoo连接>
安装项目(没 pnpm 也可以使用 npm,最好是 pnpm):
pnpm install
启动开发模式:
pnpm dev
启动生产方式:
生产方式就是打包成静态文件,会在
./dist
目录下生成可运行的静态文件。
pnpm build