8000 GitHub - jakholuo/quest: 一款轻量 Memo 记录程序,基于 Bun + Hono + MongoDB 构建
[go: up one dir, main page]
More Web Proxy on the site http://driver.im/
Skip to content

jakholuo/quest

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

35 Commits
 
 
 
 
 
 
 
 
 
 
< 8000 div class="react-directory-truncate">public
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Quest

一款轻量的 Memo 记录程序,基于 Bun + Hono + MongoDB 构建

适用于个人笔记、碎片知识记录或通过 Webhook 同步社交媒体内容聚合展示

特点

  • 极度精简,仅支持 Markdown 笔记和标签功能
  • 仅支持 API 进行笔记发布、查询、删除等操作,无前端管理后台
  • 服务端渲染,SEO 友好

截图

image

Live Demo

Demo

安装依赖

bun install

复制并修改配置文件

  1. 提前在 MongoDB 中创建好对应的数据库
  2. 复制 .env.example.env
  3. 修改 .env 中的环境变量
# .env
PORT="8848" # 运行端口
MONGO_URI="mongodb://127.0.0.1:27017/quest" # mongoDB 连接地址
JWT_SECRET="your-secret-key" # JWT 密钥,请务必修改
TOKEN_EXPIRE_TIME="0" # API Token 生成有效期
ADMIN_USERNAME="admin" # 获取 Token 用户名
ADMIN_PASSWORD="admin" # 获取 Token 密码
TITLE="Quest" # 标题
SUB_TITLE="A Simple Memo Site" # 副标题标题
DESCRIPTION="Quest your interesting" # 描述
KEYWORDS="Quest, Memo, Simple" # SEO 关键词
INDEX_PAGE_SIZE="10" # 每页展示 Memos 数量
CACHE_SECONDS="3600" # 访问内容服务端缓存
FONT_SCRIPT_URL="https://fonts.googleapis.com/css?family=Mono" # Google 字体地址
UMAMI_URL="https://cloud.umami.is/script.js" # Umami 统计托管地址(留空则不使用)
UMAMI_WEBSITE_ID="" # Umami 统计ID(留空则不使用)

运行(开发环境)

# dev
bun run dev

# start
bun run start

# nohup 守护运行
nohup bun run start > output.log 2>&1 & # 退出终端后守护运行,请使用 exit 退出

访问地址:http://localhost:8848

Docker 构建 & 部署

# 克隆项目到本地
git clone https://github.com/jakholuo/quest.git
# 修改 .env 文件中的站点基础信息和数据库链接地址等
# 如本地无 MongoDB 数据库的建议可以注册使用免费的 MongoDB 云数据库
# 构建 docker 镜像
docker build -t quest .
# 运行
docker run -p 8848:8848 -d quest
# 通过 http://localhost:8848 访问

API

星号标注接口需要鉴权,采用JWT形式鉴权,即需要在请求header中添加Authorization的值为Bearer ${token}

  1. 获取 Token

[POST] /api/users/token

参数名 类型 必填 描述
name string 用户名
password string 密码
  1. 获取 Memo 列表

[POST] /api/memo/list

参数名 类型 必填 描述
size number 每页数量
prev string 上一个 memo 的 id,用于分页加载
tags array 标签
  1. 创建 Memo

*[POST] /api/memo/create

参数名 类型 必填 描述
content string 内容
tags array 标签
  1. 修改 Memo

*[POST] /api/memo/update

参数名 类型 必填 描述
id string 要修改的 memo 的 id
content string 内容
tags array 标签
  1. 删除 Memo

*[POST] /api/memo/delete

参数名 类型 必填 描述
id string 要删除的 memo 的 id

待办事项

  • 支持 Android / IOS 客户端发布管理内容
  • 内容缓存机制

About

一款轻量 Memo 记录程序,基于 Bun + Hono + MongoDB 构建

Resources

Stars

Watchers

Forks

Packages

No packages published

Contributors 2

  •  
  •  
0