Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/hehehai/x-hiring
🤗 每日最新招聘信息,使用 Google AI 提取摘要
https://github.com/hehehai/x-hiring
hiring jobs nextjs shadcn-ui
Last synced: 3 days ago
JSON representation
🤗 每日最新招聘信息,使用 Google AI 提取摘要
- Host: GitHub
- URL: https://github.com/hehehai/x-hiring
- Owner: hehehai
- Created: 2024-02-10T13:35:24.000Z (11 months ago)
- Default Branch: main
- Last Pushed: 2024-12-10T15:21:17.000Z (14 days ago)
- Last Synced: 2024-12-15T05:06:47.129Z (10 days ago)
- Topics: hiring, jobs, nextjs, shadcn-ui
- Language: TypeScript
- Homepage: https://woky.cc
- Size: 564 KB
- Stars: 438
- Watchers: 4
- Forks: 32
- Open Issues: 3
-
Metadata Files:
- Readme: README.md
Awesome Lists containing this project
README
X-Hiring
🤗 每日最新招聘信息,使用 Google AI 提取摘要
![image](https://github.com/hehehai/h-blog/assets/12692552/9853bc8b-9988-4bc4-8075-88c3a35147a2)
![image](https://github.com/hehehai/h-blog/assets/12692552/6d83d836-2134-4c83-bd9b-d51702978bfe)> [!TIP]
> 如果有合适的职位数据源,欢迎👏提 [issues](https://github.com/hehehai/x-hiring/issues/new), 我们将视情况开发。## 当前已支持
- [x] [V2EX](https://www.v2ex.com/go/jobs)
- [x] [电鸭社区](https://eleduck.com)
- [x] [阮一峰 谁在招人](https://github.com/ruanyf/weekly/issues?q=%E8%B0%81%E5%9C%A8%E6%8B%9B%E4%BA%BA)## ⌨️ 安装&运行
项目使用 Monorepo、turbo、pnpm 管理
```shell
pnpm install
``````txt
.
├── apps
│ ├── jobs
│ └── www
├── package.json
├── packages
│ ├── db
│ ├── eslint-config
│ └── tsconfig
├── pnpm-workspace.yaml
└── turbo.json
```- jobs:抓取任务
- www:网站
- db:公共数据服务> 数据抓取独立服务(和 `apps/jobs` 同步-支持 node 16), [x-hiring grab](https://github.com/hehehai/x-hiring-grab)
- `apps/jobs` 下 `.env.example` 文件复制,名称修改为 `.env` 内容自行修改
- `apps/www` 下 `.env.example` 文件复制,名称修改为 `.env` 内容自行修改
- `packages/db` 下 `.env.example` 文件复制,名称修改为 `.env` 内容自行修改(为了 `prisma migrate`)```txt
# Prisma postgresql 数据库
DATABASE_URL="postgresql://x-hiring:[email protected]:5432/x-hiring"# Google Gemini AI
GEMINI_AI_API_KEY="api_token"# GithubToken
GITHUB_TOKEN="ghp_xxx"# 本地代理 (可选)
LOCAL_FETCH_PROXY="http://127.0.0.1:7890"# Redis Upstash
# https://upstash.com/blog/nextjs-ratelimiting
UPSTASH_REDIS_REST_URL="https://xxx.upstash.io"
UPSTASH_REDIS_REST_TOKEN="xxx"
``````shell
pnpm run dev:web
pnpm run dev:jobs
```打开 `http://localhost:3000`
## Q&A
> 网站和抓取分析,为什么分为了两个服务?
1. 抓取是长时运行任务,
@vercel 免费版最大运行时长 10s, cron 的是每日一次,最小单位为小时,任务运行时长也有最大限制
2. #Gemini 有地域限制,且未直接在业务中使用,所以结合抓取实现摘要保存更合适> 接下来的计划是什么?
1. [x] RSS 服务: [`https://x-hiring.hehehai.cn/feed.xml`](https://x-hiring.hehehai.cn/feed.xml)
2. [x] (搁置)相关职位推荐 - 每个职位详情下方展示最新 6 个类似职位
3. [x] 上次查看标识 - 下一次打开时,列表滚动到上次打开时的第一条数据时,标记上次查看标识
4. [ ] 新增 team 入口, 展示中文社区开发团队和独立开发者列表
5. [ ] 支持登录 - 使用 clerk 登录账号
6. [ ] 支持职位信息发布 - 发布职位后默认状态为待审核, 审核成功或失败将发送邮件到发布人邮箱## 反馈建议/职位交流 📢
- 职位群请加我的微信,不直接放二维码了,有乱打广告的!
| 职位群 |
|:---------------------------------------:|
| |