Skip to content

Folders and files

NameName
Last commit message
Last commit date

Latest commit

History

92 Commits

Repository files navigation

CNode.js Next

CNode.js Next powers cnodejs.org, the Node.js Chinese developer community. It is a modern rewrite of the original nodeclub application, built as an open-source TypeScript monorepo.

CNode(cnodejs.org)是 Node.js 中文专业社区,起源于 nodeclub。本项目是 CNode 的现代化重写,保持 API 和业务行为兼容,运行时数据库迁移到 PostgreSQL。

Features

AreaCapabilities
WebReact Router v7 SSR, Vite, Tailwind CSS v4, shadcn/ui
APIHono on Node.js, cookie auth, GitHub OAuth, legacy accesstoken compatibility
DataPostgreSQL-only Drizzle schema and Mongo-to-PostgreSQL migration tools
ModerationKeyword rules, scan jobs, audit-oriented admin workflows
DeliveryDocker Compose production runbook and GHCR image workflow documentation
SafetySecret handling guidance, Gitleaks scan command, security reporting entry

Shared TypeScript and Zod contracts span Web and API. pnpm workspace manages the monorepo.

Quick Start

pnpm install
cp .env.example .env
pnpm db:push:pg
pnpm dev

Local endpoints:

ServiceURL
Webhttp://localhost:5173
APIhttp://localhost:3001

Root .env is the single default local environment source. Do not commit real .env files or secrets. See docs/conventions.md for documentation, development, and secret handling conventions.

Documentation

NeedStart here
Documentation and contribution conventionsdocs/conventions.md
Architecture and runtime boundariesdocs/architecture.md
Local development and verificationdocs/development.md
Production deploymentdeployment/README.md
PostgreSQL schema and migration rulesdocs/database.md
Mongo-to-PostgreSQL migration backgroundwiki/migration-background.md
API referenceapi/openapi.json (auto-generated, view at /api page)
Content moderationdocs/content-moderation.md
Historical context and legacy behavior noteswiki/README.md
Security practicesdocs/security.md, SECURITY.md

Contributing

Read CONTRIBUTING.md before opening a PR. Behavior, product, API, migration, release, or architecture changes should use OpenSpec; small documentation corrections can be submitted directly when they do not change shipped behavior. We follow the Contributor Covenant Code of Conduct.

Security

Report vulnerabilities through a private maintainer-approved channel when possible. Do not paste secrets, tokens, cookies, private keys, database URLs, or user data into public issues. See SECURITY.md.

License

CNode.js Next is released under the MIT License. Legacy reference code outside this repository is not covered by this license.

About

Next version of CNode.js community

Resources

Code of conduct

Contributing

Security policy

Stars

1 star

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages