piterator-org / luogu-discussion-archive

洛谷讨论存档

Home Page:https://lglg.top

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

luogu-discussion-archive

依赖

使用 pnpm 管理依赖

pnpm install

构建

pnpm -r run build

数据库

使用 PostgreSQL 作为数据库。

export DATABASE_URL="postgresql://postgres@localhost:5432/luogu_discussion_archive?schema=public" # PostgreSQL 数据库地址,参见:https://pris.ly/d/postgres-connector
pnpm exec prisma migrate deploy

archive

# 配置环境变量
export PORT="3001" # 存档 API 服务监听的端口
export DATABASE_URL="postgresql://localhost/luogu_discussion_archive" # PostgreSQL 数据库地址
export VIEWER_HOST="https://lglg.top" # viewer 调用 API 的 Origin 头,作 CORS 校验之用

# 执行
node ./packages/archive/dist/server.js

viewer

配置

packages/viewer/.env.local 中:

PORT="3000" # viewer 监听的端口
DATABASE_URL="postgresql://localhost/luogu_discussion_archive" # PostgreSQL 数据库地址
COOKIE="__client_id=ffffffffffffffffffffffffffffffffffffffff; _uid=0" # 请求洛谷的 Cookie 头
NEXT_PUBLIC_ARCHIVE_HOST="//lda.piterator.com" # 指向存档 API 服务器的相对地址

开发

cd packages/viewer
pnpm run dev
# 或直接
pnpm --filter viewer run dev

生产

node ./packages/viewer/.next/standalone/packages/viewer/server.js

About

洛谷讨论存档

https://lglg.top

License:Other


Languages

Language:TypeScript 94.4%Language:CSS 3.3%Language:JavaScript 2.2%Language:Shell 0.0%Language:SCSS 0.0%