Luminary:第2周 — 构建核心

发布: (2026年3月14日 GMT+8 06:53)
5 分钟阅读
原文: Dev.to

Source: Dev.to

Luminary 第2周 — 构建核心的封面图

什么是 Luminary

Luminary 是一个开源平台,旨在庆祝并表彰女性在社会中的成就和贡献。该平台致力于突出在各个领域产生影响的女性,为她们提供一个让其工作得到认可、被发现并与更广泛受众分享的空间。

该项目由前端、后端、设计等多个角色的贡献者协作构建,重点在于打造一个可扩展且易于访问的表彰平台。

本周工作内容

本周我的工作主要集中在维护代码库和构建核心后端基础设施。作为 Lead Maintainer,我的职责之一是确保项目保持稳定且对贡献者友好,同时在技术空白处提供支持。我还兼任 Backend Lead,帮助建立平台的基础后端架构。

主要任务

  • 为项目网站设置并配置初始部署 →
  • 开始构建 Luminary 的后端服务
  • 重构代码库的部分内容,以支持正确的部署和项目结构
  • 实现了以下 API 接口:
    • 提交女性提名
    • 在已提名女性目录中搜索
  • 设计并构建了提名系统所需的数据库模式
  • 协调仓库维护任务,保持项目组织有序并对贡献者友好

技术实现细分

Luminary 后端采用 Node.js + Express 架构,提供一个 RESTful API 层,与通过 Supabase 管理的 PostgreSQL 数据库进行通信。

前端

  • 部署在 Netlify 的静态站点
  • 显示被提名人资料并处理提名提交

后端

  • 使用 Express 的 Node.js 服务器
  • 处理 API 请求、提名提交和目录查询
  • 充当前端与数据库之间的中间件

数据库

  • 通过 Supabase 管理的 PostgreSQL
  • 存储提名记录、提名人信息和被提名人资料

数据库设计

为了支持提名工作流,针对三个主要实体设计了模式:

被提名人(女性)

  • 姓名
  • 贡献的领域或方向
  • 传记或影响描述
  • 与认可相关的其他元数据

提名人

  • 提交提名的个人信息
  • 用于跟踪和潜在的审核工作流

提名

  • 将提名人与被提名人关联
  • 捕获被认可的成就或影响的详细信息

我遇到的挑战

一个主要的技术难题是 Netlify 部署问题。项目最初把 index.html 放在 pages 目录中,导致 Netlify 无法检测到入口文件。由于 Netlify 期望入口 HTML 文件位于发布目录的根目录,部署因此失败。

解决方案:
通过将 index.html 移动到项目的根目录并更新目录结构,重构了应用结构。这使得 Netlify 能够正确识别入口文件,从而实现了更简洁、适合部署的结构。

本周学习内容

  • 在托管静态前端时处理 deployment constraints
  • 在作为 Lead Maintainer 协调贡献时管理项目稳定性

团队与贡献者

Luminary 是一个由众多贡献者共同努力的项目:

  • Isaac Shosanya — 首席维护者
  • Ramnan Ramyil — 项目负责人
  • Awoyemi Abiola — 项目负责人
  • Daniel Chisom — 工程负责人
  • Micheal Omonedo — 设计负责人
  • Ariyo Taiwo — UI/UX 设计师

协作是推动项目进展的关键,看到平台逐步成形令人振奋。

0 浏览
Back to Blog

相关文章

阅读更多 »

Meta 不再放弃 Jemalloc

- Meta 认识到 jemalloc 作为高性能内存分配器在其软件基础设施中的长期收益。 - 我们正在重新聚焦 jemalloc,……