About the Project

Inspiration

Sustainable Development Goals (SDGs) play a crucial role in addressing global challenges. However, ensuring that project metadata remains up-to-date and accurately reflects SDG alignment is a time-consuming and error-prone task. We wanted to automate this process to make it more efficient, scalable, and accessible.

What We Learned

Throughout this project, we gained valuable insights into:

  • Automating workflows using GitHub Actions
  • Structuring and storing metadata using JSON and YAML formats
  • Building RESTful APIs using Django and Django REST Framework
  • Handling data consistency and synchronization challenges in open-source ecosystems

How We Built It

  1. Web-Based Metadata Generation

    • A Django-based web application where users input project details and select SDG alignments.
    • Metadata is stored in a database and exported as JSON/YAML.
  2. GitHub Action for Automated Metadata Updates

    • When a project repository is updated, an action triggers a script that regenerates the metadata automatically.
  3. API for Fetching SDG-Aligned Projects

    • A REST API that allows users and external systems to query SDG-aligned projects dynamically.

Challenges We Faced

  • Ensuring Metadata Accuracy: Managing dynamic updates while preventing inconsistencies.
  • Integration with GitHub: Configuring GitHub Actions to work seamlessly with repositories.
  • Scaling to Open Source Projects: Identifying open-source projects with appropriate licenses to expand metadata generation beyond individual repositories.

Future Improvements

  • Expanding metadata generation to all open-source projects based on their licenses.
  • Enhancing search and filtering capabilities in the API to make SDG-aligned projects more discoverable.
  • Implementing AI-driven SDG classification to automatically detect project alignment.
Share this project:

Updates