Skip to content

一个微信小程序。专门提供给专科程序员和 35+程序员沟通交流的社区,求职、转型、副业、裁员等沟通交流

Notifications You must be signed in to change notification settings

pengxiaohua/beyond35

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

8 Commits
 
 
 
 
 
 
 
 

Repository files navigation

Beyond35

「专科毕业的 IT 从业者」 与 **「35+ 程序员」**打造的互助社区与就业平台。包含小程序客户端(Taro)与服务端(Next.js + Prisma + PostgreSQL),支持内容分享、问答、招聘信息,以及后续的后台管理与数据统计能力。

功能概览

  • 内容分享区: 发布求职故事/转型经历/规划;支持标签(#求职 #转型 #副业 #裁员 #学习提升)、点赞/评论/收藏、匿名发帖(评论待后续补全)。
  • 提问解答区: 支持匿名提问、回答,按热度排序,沉淀知识库(热度与精选逻辑后续增强)。
  • 招聘区: 发布/筛选职位,标签支持「专科友好」「35+ 友好」「远程」「兼职/副业」,可收藏。企业/HR 入驻与审核机制将由后台管理完善。
  • 社区功能: 热门榜单、话题广场、私信(后续迭代)。
  • 成长工具: 职业路径、评估与学习资源(后续迭代)。
  • 用户系统: 用户注册/登录(规划对接微信授权登录),个人主页与标签。
  • 后台管理(规划): 用户管理、内容/招聘审核、数据统计(Next.js + Prisma)。

技术栈

  • 小程序端: Taro + React + Taro UI
  • 服务端: Next.js 15(App Router)
  • 数据库: PostgreSQL
  • ORM: Prisma
  • 包管理: pnpm

仓库结构

/beyond35
  ├─ beyond35-client/          # 小程序(Taro)
  │  ├─ src/
  │  │  ├─ app.config.ts       # 页面与 tabBar 配置
  │  │  ├─ pages/
  │  │  │  ├─ index/           # 首页
  │  │  │  ├─ share/           # 分享区(新增)
  │  │  │  ├─ qa/              # 问答区(新增)
  │  │  │  ├─ jobs/            # 招聘区(新增)
  │  │  │  └─ profile/         # 我的(新增)
  │  └─ package.json
  └─ beyond35-server/          # 服务端(Next.js)
     ├─ app/
     │  ├─ api/
     │  │  ├─ jobs/            # 职位列表/创建 + 详情/更新/删除
     │  │  ├─ posts/           # 帖子列表/创建 + 详情/更新/删除
     │  │  └─ questions/       # 问题列表/创建 + 详情/更新/删除
     │  └─ page.tsx
     ├─ lib/prisma.ts          # Prisma Client 单例
     ├─ prisma/schema.prisma   # 数据模型
     ├─ .env                   # 数据库连接(本地)
     └─ package.json

数据模型(Prisma 摘要)

  • User: 基本资料、教育程度(Associate 等)、年龄段、职业方向、角色(USER/HR/ADMIN)、封禁状态。
  • Post: 标题、内容、匿名、标签数组、点赞计数、作者。
  • Question: 标题、内容、匿名、标签数组、点赞计数、答案关联。
  • Answer: 内容、是否被采纳、点赞计数、关联问题与作者。
  • Job: HR 发布职位,包含公司、城市、薪资范围、远程/兼职、专科友好、35+ 友好、描述、标签、状态(PENDING/APPROVED/REJECTED)。
  • FavoriteJob: 用户与职位收藏关系(userId + jobId 唯一)。

环境与准备

  • Node.js 18+(建议 20+)
  • pnpm 10+
  • PostgreSQL 14+(本地或云端)

可使用 Docker 快速启动本地 PostgreSQL:

docker run --name beyond35-pg -e POSTGRES_PASSWORD=postgres -e POSTGRES_DB=beyond35 -p 5432:5432 -d postgres:14

服务端(Next.js)安装与启动

cd beyond35-server
pnpm install

# 配置数据库连接(已提供 .env 示例,可根据实际修改)
# 文件:beyond35-server/.env
# 示例:
# DATABASE_URL="postgresql://postgres:postgres@localhost:5432/beyond35?schema=public"

# 生成 Prisma Client
pnpm prisma generate

# 推送模型到数据库(开发环境)
pnpm db:push

# 启动开发服务
pnpm dev

小程序端(Taro)安装与启动

cd beyond35-client
pnpm install

# 微信小程序开发
pnpm dev:weapp

# H5 预览(可选)
pnpm dev:h5

微信开发者工具导入路径:选择 beyond35-client/dist(启动 dev:weapp 后生成),开发阶段可在工具里勾选「不校验合法域名」。

API 概览(当前实现)

  • GET /api/jobs:职位列表(支持 query:status/remote/partTime/diplomaFriendly/ageFriendly35Plus/city/keyword)

  • POST /api/jobs:创建职位(需 hrId、title、company、description 等)

  • GET /api/jobs/[id]:职位详情

  • PATCH /api/jobs/[id]:更新职位

  • DELETE /api/jobs/[id]:删除职位

  • GET /api/posts:帖子列表(支持 tag)

  • POST /api/posts:创建帖子(authorId、content 必填)

  • GET /api/posts/[id] / PATCH / DELETE

  • GET /api/questions:问题列表(支持 tag,包含 answers)

  • POST /api/questions:创建问题(authorId、title、content 必填)

  • GET /api/questions/[id] / PATCH / DELETE

说明:鉴权尚未接入,后续将对接「微信登录」并区分 USER/HR/ADMIN 权限与审核流程。

小程序页面(当前)

  • 首页:示例/占位
  • 分享:示例列表(后续对接 /api/posts
  • 问答:示例列表(后续对接 /api/questions
  • 招聘:示例列表与筛选标签(后续对接 /api/jobs
  • 我的:登录入口占位(后续接入微信授权登录)

开发规范

  • TypeScript 首选,避免使用 any
  • 代码风格遵循各子项目的 ESLint 配置;提交前建议本地自检。
  • 前端组件命名与文件组织保持语义清晰;服务端 API 遵循 REST 风格,错误返回格式 { error: string }

部署指引(简要)

  • 服务端:可部署到 Vercel/自托管 Node(需提供 DATABASE_URL 环境变量);生产环境建议使用 Prisma Migrate 与受控迁移。
  • 数据库:推荐托管 PostgreSQL(如 Supabase/Neon/RDS)。
  • 小程序taro build --type weapp 产物上传至微信开发者平台;配置合法域名,与服务端域名保持一致。

规划路线(Roadmap)

  • 接入微信授权登录与会话管理;完善用户角色与权限。
  • 后台管理(审核/统计/用户管理)界面与流程。
  • 点赞、评论、收藏、转发全链路打通;首页推荐算法与热门榜单。
  • 招聘投递/收藏闭环,对接邮箱或第三方招聘 API;企业入驻审核。
  • 成长工具:评估小测、职业路径、学习/副业资源推荐。
  • 引入 AI 能力:简历生成、面试模拟、帖子审核辅助等。

About

一个微信小程序。专门提供给专科程序员和 35+程序员沟通交流的社区,求职、转型、副业、裁员等沟通交流

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Contributors 2

  •  
  •