DEV Community

Cover image for Luminary: Week 2 — Building the Core
Isaac Shosanya
Isaac Shosanya

Posted on

Luminary: Week 2 — Building the Core

Welcome back to another week of work on the luminary project, for those of us who are new here, welcome again and you might ask;

What is Luminary

Luminary is an open-source platform created to celebrate and recognize women for their achievements and contributions to society. The platform aims to highlight women making an impact across different fields, giving them a place where their work can be acknowledged, discovered, and shared with a wider audience.

The project is being built collaboratively by contributors across multiple roles including frontend, backend, and design, with a focus on creating a scalable and accessible recognition platform.

What I worked on this week

This week my work focused largely on maintaining the codebase and building core backend infrastructure. As the Lead Maintainer, part of my responsibility is ensuring the project remains stable and contributor-friendly while also stepping in where technical gaps exist.

This week I also filled in as the Backend Lead, helping to establish the foundational backend architecture for the platform.

Here’s a breakdown of the main tasks I worked on:

  • Set up and configured the initial deployment for the project website → https://luminary-for-women.netlify.app/
  • Began building the backend service for Luminary
  • Refactored sections of the codebase to support proper deployment and project structure
  • Implemented API endpoints for:
    • Submitting a nomination for a woman
    • Searching through the nominated women directory
  • Designed and structured the database schemas required for the nomination system
  • Coordinated repository maintenance tasks to ensure the project remained organized and contributor-friendly

Technical Implementation Breakdown

The Luminary backend follows a Node.js + Express architecture, providing a RESTful API layer that communicates with a PostgreSQL database managed through Supabase.

The overall architecture currently looks like this:
Frontend

  • Static frontend deployed on Netlify
  • Responsible for displaying nominee profiles and handling nomination submissions Backend
  • Node.js server using Express
  • Handles API requests, nomination submissions, and directory queries
  • Acts as the middleware between the frontend and database Database
  • PostgreSQL database managed through Supabase
  • Stores nomination records, nominator information, and nominee profiles

Database Design

To support the nomination workflow, I designed schemas for three main entities:

Nominee (Woman)

Represents the woman being recognized on the platform. This includes information such as:

  • Name
  • Field or area of contribution
  • Biography or impact description
  • Additional metadata related to recognition

Nominator

Represents the individual submitting the nomination. This allows the platform to track who submitted a nomination while also enabling potential moderation workflows.

Nomination

Represents the actual contribution or recognition entry. This acts as the relationship between the nominator and the nominee, capturing details about the achievement or impact being recognized.

Challenges I Encountered

One of the main technical challenges this week involved deployment issues with Netlify.

Initially, the project structure placed the index.html file inside a pages directory, which prevented Netlify from correctly detecting the entry point for the site. Since Netlify expects the entry HTML file to be at the root of the published directory, this caused the deployment to fail.

To resolve this issue, I had to refactor the structure of the application, moving the index.html file to the base level of the project and updating the directory structure accordingly. This ensured that Netlify could properly identify the entry point and serve the application without errors.

Although this required some restructuring of the codebase, it ultimately resulted in a cleaner and more deployment-friendly project structure.

What I Learned This Week

This week gave me deeper experience in a few areas:

  • Handling deployment constraints when hosting static frontends
  • Managing project stability while coordinating contributions as a Lead Maintainer

Team & Contributors

Luminary is a collaborative effort, and a lot of incredible people contributed to the progress made this week. It’s been great working with a team committed to building something meaningful and impactful.

Contributors

  • Isaac Shosanya — Lead Maintainer
  • Ramnan Ramyil — Project Lead
  • Awoyemi Abiola — Project Lead
  • Daniel Chisom — Engineering Lead
  • Micheal Omonedo — Design Lead
  • Ariyo Taiwo — UI/UX Designer

Collaboration has been key to moving the project forward, and it’s exciting to see the platform gradually take shape.

You can follow the development progress here:

Project Repository

And you can explore the live deployment here:

https://luminary-for-women.netlify.app/

Top comments (0)