Add registration flow and improve admin post management

This commit is contained in:
爱喝水的木子
2026-03-19 20:17:56 +08:00
parent 50a1e476c8
commit 17f5f6adcb
28 changed files with 799 additions and 192 deletions

View File

@@ -1,66 +1,42 @@
# OPC 信息流平台
# OPC Solo Feed 信息流
面向 OPCOne Person Company一人公司的轻量信息流发布站。
个人即公司:记录更新、发布进展、同步给关注你的人;简单、克制、能持续。
OPCOne Person Company一人即是公司)信息流项目,用于个人/小团队以“信息流平台”的方式发布动态、记录进展与沉淀内容。
## 你会得到什么
- 一个可公开访问的“个人公司动态墙”
- 支持 Markdown 的内容发布
- 文章详情页可长期访问(稳定 URL
- RSS 订阅与站点地图,方便搜索与关注
- 后台口令发布与统计,维护成本低
## 典型使用场景
- 个人产品更新、周报、交付日志
- 公开路线图、里程碑、版本发布
- 内容实验、灵感记录、对外同步
## 功能概览
- 信息流首页:搜索、标签筛选
- 内容详情:Markdown 渲染、分享链接/二维码、阅读统计
- 后台管理:登录、注册、发布/编辑/删除、统计面板
- 登录有效期24 小时,过期需重新登录
## 技术栈
- Next.js 14App Router
- MongoDB Atlas(免费云数据库)
- MongoDB Atlas
- Tailwind CSS
- Markdown 渲染
- Markdown
## 快速开始
1. 安装依赖
## 本地开发
1. 安装依赖
```bash
npm install
```
2. 新建 `.env.local`
2. 配置环境变量:新建 `.env.local`
```
MONGODB_URI=你的Mongo连接串
MONGODB_DB=pushinfo
ADMIN_PASS=自定义后台口令
SESSION_SECRET=任意长随机字符串
NEXT_PUBLIC_SITE_URL=https://你的域名
SESSION_SECRET=用于签名的随机长字符串
NEXT_PUBLIC_SITE_URL=https://你的站点域名
```
3. 开发运行
3. 启动开发服务器
```bash
npm run dev
```
## 功能清单
- 首页信息流:最新发布置顶
- 文章详情页Markdown 渲染
- 后台:口令登录、发布、编辑/删除、统计
- 标签聚合页与标签详情页
- 搜索与分页
- RSS`/rss`标题不务正业的木子文案less is more
- Sitemap`/sitemap.xml`
4. 打开页面并注册账号
- 注册:`/register`
- 登录:`/login`
## 部署建议
- 前端Vercel
- 数据库MongoDB Atlas 免费套餐
- 图片:图床(如 `https://img.020417.xyz`
## 设计原则
- 低摩擦发布
- 少即是多
- 长期可维护
## TODO
- 草稿与置顶
- 私密分享链接
- 全文索引MongoDB Text Index
## 说明
- 后台入口:`/admin`
- 登录后右上角显示当前用户名