😂我错过了 Hackathon 截止日期,但解决了更大的问题:找到合适的项目伙伴。

发布: (2025年12月23日 GMT+8 15:52)
5 min read
原文: Dev.to

Source: Dev.to

你有想法。
你有技能。
你有动力。

但不知为何……你仍然独自构建。

于是我决定创建 Projura —— 一个旨在帮助开发者、设计师和构建者找到合适项目伙伴,而不是随意的队友的应用。在构建过程中,我了解了真实世界的协作应用是如何运作的。

什么是 Projura?

Projura 是一个全栈网页应用,用户可以:

  • ✅ 创建个人资料
  • ✅ 添加技能
  • ✅ 发布项目想法
  • ✅ 根据技能匹配合作者
  • ✅ 不再单独开发

没有虚假的社交网络。没有无尽的私信。只有基于技能的协作。

核心理念:像代码一样匹配人

Projura 并不是随意匹配人。它使用结构化数据:

  • 用户技能
  • 项目需求

因为软件不懂氛围——它只懂逻辑。

第一步:创建用户资料(后端逻辑)

前端(JavaScript)

async function createUser() {
  const res = await fetch("http://127.0.0.1:5000/users", {
    method: "POST",
    headers: { "Content-Type": "application/json" },
    body: JSON.stringify({
      name: name.value,
      bio: bio.value,
      skills: skills.value
    })
  });

  const data = await res.json();
  userId = data.id;
}

后端(Flask API)

@app.route("/users", methods=["POST"])
def create_user():
    data = request.json
    user = User(
        name=data["name"],
        bio=data["bio"],
        skills=data["skills"]
    )
    db.session.add(user)
    db.session.commit()
    return jsonify({"id": user.id})

这就是 Projura 正式知道你存在的地方。

第2步:用户模型(数据所在位置)

class User(db.Model):
    id = db.Column(db.Integer, primary_key=True)
    name = db.Column(db.String(100))
    bio = db.Column(db.Text)
    skills = db.Column(db.Text)

技能以逗号分隔的形式存储,例如:

"python, flask, frontend"

易于存储。易于比较。

第三步:项目需要需求

class Project(db.Model):
    id = db.Column(db.Integer, primary_key=True)
    title = db.Column(db.String(150))
    description = db.Column(db.Text)
    required_skills = db.Column(db.Text)

现在,项目使用与用户相同的语言:skills

Step 4: Matching Logic (The Smart Part)

from difflib import SequenceMatcher

def skill_match(a, b):
    return SequenceMatcher(None, a, b).ratio()

我们比较用户技能与项目技能;相似度比率越高,匹配度越好。这将协作转化为数据驱动的决策。

第5步:前端 + 后端必须保持一致

fetch(`${API}/projects/${userId}`)
  .then(res => res.json())
  .then(data => {
    projects.innerHTML = data.map(p =>
      `- ${p.title}
`
    ).join("");
  });

API 是契约。违背它们——一切都无法工作。

第6步:调试 = 真正的学习

常见问题:

  • ❌ 按钮点击但没有反应
  • ❌ 调用 API 但返回 500
  • ❌ 数据库模式不匹配
  • ❌ CORS 阻止请求

每个错误都迫使我学习:

  • 数据库不会自动更新的原因
  • 前端和后端必须匹配的原因
  • 日志重要的原因
  • “能运行” ≠ “能工作”的原因

这正是理论转化为工程实践的地方。

为什么 Projura 很重要

  • 初学者很难找到队友
  • 有技能的人常常单独开发
  • 好点子早早夭折

Projura 根据人们实际能够共同构建的内容来连接大家。

可能的未来升级

  • 🔥 实时聊天
  • 🔥 GitHub 集成
  • 🔥 推荐评分
  • 🔥 项目时间线
  • 🔥 团队仪表盘

每个功能都让 Projura 更接近正式上线。

最终思考

Projura 教会了我一个重要的道理:应用程序并不只是代码;它们是把人类问题转化为逻辑。如果你能够设计出帮助人们有意义地连接的系统,你不仅仅是在写代码——你在创造影响。

# coders language 
print("Happy building 🚀💻 ")
Back to Blog

相关文章

阅读更多 »

我在技术方面的2026年目标

技术目标 2026 1. 在 Dev Community 上发布更多内容 我想继续在这里写作,分享我正在学习的技术,并练习我的英语…