# EndlessNightmare Nextjs **Repository Path**: lainyu/endless-nightmare-nextjs ## Basic Information - **Project Name**: EndlessNightmare Nextjs - **Description**: Record my nightmare. - **Primary Language**: Unknown - **License**: Not specified - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 0 - **Created**: 2026-02-18 - **Last Updated**: 2026-02-18 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README # Endless Nightmare - 梦境博客系统 一个记录和管理梦境的博客系统,支持梦境分类、标签、多媒体内容,使用 Casdoor 进行身份认证。 ## 技术栈 - **前端/后端**: Next.js 14+ (App Router), TypeScript - **UI**: Shadcn/ui + Tailwind CSS - **富文本编辑器**: BlockNote - **状态管理**: Zustand - **表单处理**: React Hook Form + Zod - **数据库**: MongoDB + Mongoose - **认证**: Casdoor + NextAuth.js - **部署**: Docker + Docker Compose ## 快速开始 ### 1. 安装依赖 ```bash npm install ``` ### 2. 配置环境变量 复制环境变量示例文件: ```bash cp .env.example .env.local ``` 编辑 `.env.local` 并填入实际配置值。 ### 3. 启动开发服务器 ```bash npm run dev ``` 访问 http://localhost:3000 ### 4. 初始化数据库分类数据 ```bash npx ts-node src/lib/db/seed.ts ``` ## Docker 部署 查看 [Docker 部署文档](./docker/README.md) ```bash cd docker docker-compose up -d ``` ## 项目结构 ``` src/ ├── app/ # Next.js App Router 页面 ├── components/ # React 组件 │ ├── ui/ # Shadcn/ui 基础组件 │ ├── layout/ # 布局组件 │ ├── dream/ # 梦境相关组件 │ └── common/ # 通用组件 ├── lib/ # 工具库 │ ├── db/ # 数据库相关 │ ├── auth/ # 认证相关 │ ├── validators/ # Zod 验证 │ ├── utils/ # 工具函数 │ └── hooks/ # React Hooks ├── store/ # Zustand 状态管理 └── types/ # TypeScript 类型定义 ``` ## 功能特点 ### 梦境分类系统 基于专业心理学研究的 10 大主分类: 1. 追逐与逃亡 2. 身体恐怖 3. 人际关系 4. 死亡与丧失 5. 超自然恐怖 6. 灾难与末日 7. 现实压力 8. 失控与无助 9. 睡眠瘫痪与假醒 10. 超现实与宇宙恐惧 ### 标签系统 5 个维度的附加标签: - **主导情绪**: 恐惧、焦虑、羞耻、悲伤、愤怒等 - **生理体验**: 窒息、心悸、疼痛、瘫痪感等 - **叙事结构**: 线性剧情、碎片跳跃、循环重复等 - **现实关联**: 压力映射型、创伤重演型等 - **严重度**: F0-F4 五级评估 ### 其他功能 - BlockNote 富文本编辑器 - 图片上传与管理 - 音乐嵌入(Spotify、网易云、YouTube) - 匿名发布支持 - 响应式设计 ## API 路由 | 方法 | 路径 | 说明 | |------|------|------| | GET | /api/dreams | 获取梦境列表 | | POST | /api/dreams | 创建新梦境 | | GET | /api/dreams/:id | 获取梦境详情 | | PUT | /api/dreams/:id | 更新梦境 | | DELETE | /api/dreams/:id | 删除梦境 | | GET | /api/categories | 获取分类列表 | | GET | /api/tags | 获取标签列表 | | POST | /api/upload | 上传图片 | ## 开发 ```bash # 开发模式 npm run dev # 构建生产版本 npm run build # 启动生产服务器 npm start # 代码检查 npm run lint ``` ## 许可证 MIT