Nexml游乐场-快递服务API
用于的RESTful API服务器 Nexml游乐场 平台。\ 此服务提供基于JSON的端点来管理用户、简历存档、工作列表、策略和说明。它还与外部AI服务集成以分析简历。
______________________________________________________________________
特性
- 用户管理 –使用软删除支持创建、验证和管理用户。
- 身份验证和安全 –基于JWT的身份验证,具有刷新令牌、bcrypt密码哈希和安全cookie支持。
- 简历档案管理 –上传、组织和跟踪人工智能分析的简历。
- 职位列表和政策 –存储和管理招聘相关数据。
- 可配置的用户限制 –控制用户特定的配额(档案、简历、政策等)。
- Prisma ORM与PostgreSQL –类型安全数据库层。
- 健壮的中间件 -头盔、CORS和生产级安全限速。
______________________________________________________________________
技术栈
- 运行时间: Node.js
- 框架: 快速
- 数据库: PostgreSQL(通过Prisma ORM)
- 语言: TypeScript(编译为CommonJS)
- 验证: 萨德
- 身份验证: 带bcrypt的JSON Web令牌(JWT)
- 环境管理: dotenv
______________________________________________________________________
数据库模式
定义于 ./src/prisma/schema.prisma,数据库由以下部分组成:
- 用户 –启用软删除,具有可选的组织和访问元数据。
- 用户限制 –为档案、简历、政策等自定义每个用户的限制。
- Cv存档 –为每个用户分组简历。
- 履历 –存储个人简历及其AI分析结果。
- 职位列表 –存储职位。
- 政策 –存储与招聘或分析相关的政策。
- 指令 –存储自定义AI指令。
关键枚举
- 用户角色:
USER,ADMIN,DEV - CvState:
NOT_ANALYZED,IN_PROGRESS,ANALYZED,FAILED,REJECTED - 资格:
UNDER_QUALIFIED,QUALIFIED,OVERQUALIFIED
______________________________________________________________________
入门指南
1. 克隆存储库
git clone https://github.com/Andrei-Boghiu/nexml-playground-express-service-api.git
cd nexml-playground-express-service-api2. 再进行
npm install3. 设置环境变量
创建一个 .env 文件包含:
DATABASE_URL="postgresql://user:password@localhost:5432/playground_db"
JWT_SECRET="your-secret-key"4. 运行数据库迁移
发展:
npm run prisma:dev生产:
npm run prisma:prod5. 启动开发服务器
npm run dev构建并开始生产:
npm run build
npm start______________________________________________________________________
API概述
- 认证
- POST /auth/login –用户登录 - POST /auth/register –用户注册 - POST /auth/logout –无效会话
- 用户
- GET /user/profile –获取当前用户配置文件 - PATCH /user/update –更新用户详细信息
- 简历档案
- POST /archives –创建存档 - GET /archives –列出用户档案
- 履历
- POST /cvs –上传简历以供分析 - GET /cvs/:id –获取简历详细信息
- 工作清单、政策、说明 –标准CRUD端点。
______________________________________________________________________
开发说明
- 用途 软删除 在…上
User通过deletedAt. - Prisma架构路径是通过以下方式配置的
package.json→"prisma": { "schema": "src/prisma/schema.prisma" }. - 所有数据库交互都通过集中式Prisma客户端进行(
src/prisma/client.ts).
______________________________________________________________________
参考文献
看 参考文献.md 查看图书馆及其文档的精选列表。
______________________________________________________________________
作者
- 姓名: 安德烈·博吉
- github: 安德烈·博吉
