【开源】手把手教你搭建本地IT求职面经分享平台 | Next.js + Supabase + Vercel + Cloudflare 全栈项目,国内访问友好,零成本上线
【开源】手把手教你搭建本地IT求职面经分享平台 | Next.js Supabase Vercel Cloudflare 全栈项目国内访问友好零成本上线本项目完全开源今天把完整部署教程整理出来包含Cloudflare免费CDN加速方案使用dpdns.org免费域名真正零成本解决国内访问问题大家可以照着搭一个自己城市的版本。 项目预览线上地址https://ncbyteinterview.dpdns.org Cloudflare CDN加速国内访问友好GitHub地址https://github.com/longzhu0725/nanchang-it-interview目标城市南昌可自行替换成任意城市核心功能模块功能说明企业库本地IT企业名录30家南昌企业含行业、规模、标签、简介面经分享面试/笔试经验支持Markdown、匿名发布、难度评级❓问答社区求职提问、回答、采纳最佳答案邀请码注册保证社区质量避免垃圾账号互动功能点赞、收藏、评论、举报‍管理后台内容审核、邀请码生成、企业管理技术栈前端框架Next.js 14 (App Router) TypeScriptUI组件Tailwind CSS shadcn/ui后端/数据库Supabase (PostgreSQL Auth RLS)托管平台Vercel免费CDN加速Cloudflare免费域名dpdns.org免费域名零成本或自有域名 零成本快速上线20分钟准备工作全部用免费服务不需要花一分钱平台用途官网GitHub存放代码https://github.comSupabase数据库用户认证https://supabase.comVercel网站托管https://vercel.comCloudflareCDN加速DNS管理https://cloudflare.comDigitalPlat免费域名dpdns.orghttps://dash.domain.digitalplat.org 域名建议DigitalPlat提供免费dpdns.org二级域名可以托管NS到Cloudflare完美实现CDN加速零成本如果想要一级域名Namesilo买个.xyz域名一年几块钱。第一步Fork项目代码打开https://github.com/longzhu0725/nanchang-it-interview点击右上角Fork到你自己的GitHub账号第二步创建Supabase数据库2.1 新建项目登录 https://supabase.com → New Project填写项目名、数据库密码记下来区域选Northeast Asia (Tokyo)或Southeast Asia (Singapore)离国内近Create等1-2分钟初始化2.2 获取密钥Settings → API复制三个值保存到记事本Project URLhttps://xxxx.supabase.coanon public keyeyJ开头的长字符串service_role key另一个长字符串保密2.3 执行数据库初始化SQLSQL Editor → New query按顺序执行3个SQL文件0001_initial.sql- 表结构、RLS策略、初始企业数据0002_notifications_and_views.sql- 通知、视图0003_fix_admin_profile.sql- 用户触发器、管理员修复必须执行SQL文件地址https://github.com/longzhu0725/nanchang-it-interview/tree/main/supabase/migrations✅ 验证执行SELECT tablename FROM pg_tables WHERE schemaname public;能看到profiles/companies/posts等表即成功。2.4 临时配置认证回调Authentication → URL ConfigurationSite URLhttp://localhost:3000Redirect URLshttp://localhost:3000/auth/callbackSave域名配好后再改回来。第三步部署到Vercel登录 https://vercel.com → Add New → ProjectImport你Fork的仓库没看到就点Adjust GitHub App Permissions授权Environment Variables添加三个变量NameValueNEXT_PUBLIC_SUPABASE_URL你的Project URLNEXT_PUBLIC_SUPABASE_ANON_KEYanon keySUPABASE_SERVICE_ROLE_KEYservice_role keyDeploy等1-2分钟得到Vercel默认域名类似xxx.vercel.app第四步申请免费域名已有域名可跳过如果你还没有域名先申请一个免费dpdns.org域名注册DigitalPlathttps://dash.domain.digitalplat.org/signup需要GitHub账号认证KYC需要一个Gmail/Outlook邮箱地址信息可以用美国地址生成器生成登录后点Domain Registration后缀选dpdns.org推荐比qzz.io稳定输入你想要的前缀如nanchangit点Check Availability如果没被占用就注册成功了保持页面打开不要关如果你已经有ncbyteinterview.dpdns.org域名跳过这步。第五步Cloudflare配置CDNDNS核心国内访问关键这是解决国内访问Vercel慢的核心步骤免费域名也能用5.1 Cloudflare添加站点登录 https://dash.cloudflare.com点添加站点输入你的完整域名如nanchangit.dpdns.org或ncbyteinterview.dpdns.org选Free计划继续DNS记录页面直接点继续关键复制Cloudflare给的两个Nameserver地址类似xxx.ns.cloudflare.com5.2 DigitalPlat修改NS服务器回到DigitalPlat域名注册页面或My Domains → 你的域名 → 管理找到Nameservers设置选择Custom Nameservers填入Cloudflare给的两个NS地址点Register/Save保存5.3 等待NS生效回到Cloudflare点检查名称服务器等待域名状态变为活动Active通常几分钟。5.4 添加DNS记录Cloudflare → 你的域名 → DNS → 记录添加以下记录记录1CNAME指向Vercel类型名称内容代理状态TTLCNAMEcname.vercel-dns.com 已开启代理橙色云朵Auto记录2如果Vercel提示需要TXT验证如果Vercel显示Verification Needed和TXT记录要求添加类型名称内容代理状态TTLTXT_vercelVercel给你的vc-domain-verify…值⚪ 仅DNS灰色云朵Auto记录3可选www子域名类型名称内容代理状态TTLCNAMEwwwcname.vercel-dns.com 已开启代理Auto5.5 SSL配置必须做Cloudflare → SSL/TLS → 加密模式选Full不要选Flexible否则重定向循环5.6 开启优化可选Speed → Optimization开启Auto MinifyJS/CSS/HTML全勾、Brotli、HTTP/3Caching → ConfigurationBrowser Cache TTL设为4 hours第六步Vercel添加域名验证Vercel → 项目 → Settings → Domains添加你的域名如ncbyteinterview.dpdns.org等待验证通过显示绿色✓ Valid Configuration如果验证不通过确认TXT记录是灰色云朵CNAME正确等待几分钟后点Refresh第七步更新Supabase回调地址Supabase → Authentication → URL ConfigurationSite URL改为https://你的域名Redirect URLs添加https://你的域名/auth/callback保留localhost和Vercel默认域名的回调地址Save第八步创建管理员账号Supabase → Authentication → Users → Add user → Create new user填写你的邮箱和密码创建用户SQL Editor执行换成你的邮箱INSERTINTOprofiles(id,email,nickname,role)SELECTid,email,split_part(email,,1),adminFROMauth.usersWHEREemail你的邮箱example.comONCONFLICT(id)DOUPDATESETroleadmin;用管理员账号登录网站访问/admin/invite-codes生成邀请码 部署完成访问你的域名测试国内打开速度应该比Vercel默认域名快很多 本地开发gitclone https://github.com/你的用户名/nanchang-it-interview.gitcdnanchang-it-interviewcp.env.local.example .env.local# 编辑.env.local填入三个Supabase密钥npminstallnpmrun dev打开 http://localhost:3000 访问。推送更新gitadd.gitcommit-m修改说明gitpushVercel自动部署1-2分钟线上更新。如果Cloudflare缓存没更新去Cloudflare → Caching → Purge Everything清缓存。 扩充南昌企业数据项目默认6家初始企业执行 nanchang-companies-data.sql 可扩充到30家涵盖华勤、龙旗、欧菲光、华为、阿里、腾讯、科大讯飞、思创数码、泰豪等南昌本地IT企业。❓ 常见问题FAQQ1Cloudflare配置后重定向过多ERR_TOO_MANY_REDIRECTSASSL/TLS模式选了Flexible改成Full即可。Q2Vercel域名验证一直失败A确认TXT验证记录是灰色云朵DNS only橙色云朵会拦截TXT查询多等几分钟DNS传播临时把CNAME也切灰色验证通过再切回橙色Q3DigitalPlat找不到修改NS的地方AMy Domains → 点击你的域名进入详情页找Nameservers或DNS Settings。截图发给我帮你找。Q4管理员页面跳回首页A执行SQLINSERTINTOprofiles(id,email,nickname,role)SELECTid,email,split_part(email,,1),adminFROMauth.usersWHEREemail你的邮箱ONCONFLICT(id)DOUPDATESETroleadmin;退出重新登录。Q5免费域名dpdns.org靠谱吗ADigitalPlat是非营利组织运营的免费域名服务支持自定义NS可以托管到Cloudflare免费续期一年一次轻量使用完全够用。博主推荐dpdns.org而不是qzz.io证书申请更稳定。Q6更新后网站看不到变化ACloudflare缓存了旧版本去Caching → Purge Everything清缓存。开发时可以开启Development Mode。Q7国内访问还是不够快A确认CNAME是橙色云朵Proxied确认开启Auto Minify、Brotli、HTTP/3添加Page Rule*你的域名/*→ Cache Level: Cache EverythingEdge Cache TTL: 1 hour进阶用户可以尝试Cloudflare SaaS回源优选IP方案需要第二个域名绑定支付方式有封号风险✨ 技术亮点Cloudflare CDN免费加速配合dpdns.org免费域名零成本解决国内访问问题Row Level Security (RLS)数据库层面权限控制安全可靠邀请码机制注册入口把关保证社区质量匿名发布支持匿名分享保护用户隐私Next.js SSR服务端渲染首屏快SEO友好TypeScript全栈类型安全减少bug响应式设计手机/平板/PC完美适配shadcn/ui极简UI清爽专注内容 开源协议MIT License可自由使用、修改、分发、商用。欢迎Fork做其他城市版本给原仓库点个Star ⭐ 支持一下 最后如果这篇教程对你有帮助欢迎点赞、收藏、关注三连有问题评论区留言也可以去GitHub提Issue。希望这个平台能帮助更多在南昌或其他城市找IT工作的朋友们祝大家都拿到心仪的Offer相关链接项目GitHubhttps://github.com/longzhu0725/nanchang-it-interview线上地址https://ncbyteinterview.dpdns.orgDigitalPlat免费域名https://dash.domain.digitalplat.org

相关新闻

《论三生原理》与沃罗诺伊图的跨学科同构性研究?

《论三生原理》与沃罗诺伊图的跨学科同构性研究?

AI辅助创作:标题:《论三生原理》与沃罗诺伊图的跨学科同构性研究 —— 基于生成逻辑、层级划分与算法优化的深度比对摘要葫三生《论三生原理》立足于中华古典宇宙论 “道生一,一生二,二生三,三生万物”,将阴…

2026/6/28 1:58:12阅读更多 →
创建线程的几种方法

创建线程的几种方法

在 Java 中,创建和执行线程主要有以下四种方式。根据不同的业务场景,我们需要权衡其灵活性、返回值需求以及资源开销。1. 继承 Thread 类这是最直观的线程创建方式。通过继承 java.lang.Thread 类,并重写 run() 方法来定义线程的执行逻辑。示…

2026/6/28 1:58:12阅读更多 →
Spring Statemachine(状态机)

Spring Statemachine(状态机)

什么是状态机 状态机是状态模式的一种应用,相当于上下文角色的一个升级版。在工作流 或游戏等各种系统中有大量使用,如各种工作流引擎,它几乎是状态机的子集和实现,封装状态的变化规则。状态机可以帮助开发者简化状态控制的开发过…

2026/6/28 1:58:12阅读更多 →
Dify — 聊天助手 -- 知识库

Dify — 聊天助手 -- 知识库

接入模型 添加知识库 大模型先在本地知识库里找有没有相关知识,如果没有再去网上找 知识库:对文本内容进行分片(Chunk) -> 每个段进行向量化(Vector) > DB 提问:也会对输入的内容进行分片(Chunk) -> 进行向…

2026/6/28 3:38:17阅读更多 →
Claude Code Skill的介绍与使用

Claude Code Skill的介绍与使用

Claude Skill 1. 概念介绍 1.1 什么是 Skill? 简单来说,Skill 就是 Claude Code 的专业技能包。Claude 自带了一些内置 Skill(如代码审查、安全检查),你也可以创建自己的自定义 Skill(如文档格式化&…

2026/6/28 3:38:17阅读更多 →
开发者使用 GPT Pro 和 Codex,为什么不能只看低价?

开发者使用 GPT Pro 和 Codex,为什么不能只看低价?

前言 如果只是把 GPT 当成一个聊天工具,我以前也觉得: 能用就行,便宜一点当然更好。 但真正开始用 Codex 处理项目后,我的想法慢慢变了。 对开发者来说,AI 工具不是简单拿来问几个问题的。 它一旦进入开发流程&…

2026/6/28 3:38:17阅读更多 →
.NET 与鸿蒙的“技术巧遇”

.NET 与鸿蒙的“技术巧遇”

一、引言 2025年以来,“.NET 能否在鸿蒙上运行”成为开发者社区的热议话题。跳出情绪化争论,从整体来看,这实质上是微软和华为两大科技巨头在各自生态建设路径上的战略汇合——在 linux-musl 这个技术交点上不期而遇。 二、微软 .NET 为什么…

2026/6/28 3:38:17阅读更多 →
Claude Code 装了一堆 Skill,用了三个月,我删掉了 80%

Claude Code 装了一堆 Skill,用了三个月,我删掉了 80%

去年底,我看到 GitHub 上一个叫 antigravity-awesome-skills 的仓库冲上了 Trending,37K stars,1400 Skills,还有人在评论区喊"装完这个直接满级"。我信了。一口气装了三十多个 Skill,Superpowers 全家桶、各…

2026/6/28 3:38:17阅读更多 →
超长输入怎么截断又不丢重点

超长输入怎么截断又不丢重点

先把结论摆这儿:一段几万字的文本喂进模型炸了上下文窗口,正确做法不是「砍尾巴」,而是先切块、再按和当前问题的相关度打分排序,留高分块、丢低分块,中间用一句话占位说明删了啥。硬截会出事的根因在下面三段,我自己踩…

2026/6/28 3:33:17阅读更多 →
AI Coding 六个月真实ROI账本:产品经理的血泪教训,研发的冷静忠告

AI Coding 六个月真实ROI账本:产品经理的血泪教训,研发的冷静忠告

6个月前的2025年12月,Boris Cherny 公开宣布自己卸载了 IDE。一时间,Vibe Coding 成了全行业最热的话题。6个月后,当我们回过头来拉一份真实账本,发现事情远没有"一句话生成一个App"那么浪漫。本文从产品经理和研发两个…

2026/6/28 0:08:01阅读更多 →
审计来了,数据权限全开——审计走了,怎么确保权限全部关掉?

审计来了,数据权限全开——审计走了,怎么确保权限全部关掉?

引言:审计结束三个月了,审计员的权限还没关某城商行每年按照监管要求开展至少一次数据安全审计。审计期间,内审部门需要抽样检查各类业务数据——交易流水、客户信息、员工操作日志、权限配置记录。这些数据分布在不同系统中,审计…

2026/6/28 0:08:01阅读更多 →
AI Coding 六个月真实ROI账本:产品经理的血泪教训,研发的冷静忠告

AI Coding 六个月真实ROI账本:产品经理的血泪教训,研发的冷静忠告

6个月前的2025年12月,Boris Cherny 公开宣布自己卸载了 IDE。一时间,Vibe Coding 成了全行业最热的话题。6个月后,当我们回过头来拉一份真实账本,发现事情远没有"一句话生成一个App"那么浪漫。本文从产品经理和研发两个…

2026/6/28 0:08:01阅读更多 →
审计来了,数据权限全开——审计走了,怎么确保权限全部关掉?

审计来了,数据权限全开——审计走了,怎么确保权限全部关掉?

引言:审计结束三个月了,审计员的权限还没关某城商行每年按照监管要求开展至少一次数据安全审计。审计期间,内审部门需要抽样检查各类业务数据——交易流水、客户信息、员工操作日志、权限配置记录。这些数据分布在不同系统中,审计…

2026/6/28 0:08:01阅读更多 →