OpenSats application for Nostr helper library for PHP

Further development of the Nostr helper library for PHP

Problem

👉 There is no easy way for PHP developers to integrate Nostr in PHP powered websites and applications.

To let the adoption of Nostr grow, it needs to be integrated into the web as it exists today with the many PHP powered websites and applications.

But wait, isn’t PHP dead?

Nope, it’s still alive and kicking.

  • PHP is used by 76.7% of all websites
  • Many FOSS projects are built with PHP
  • With the age of 28 years, PHP probably exist the next 28 years (Lindy effect)
  • Most used CMSs are built with PHP and used by many organizations and individuals
    More stats on PHP: https://w3techs.com/technologies/details/pl-php

When there is useful and powerful Nostr integration with PHP, developers building PHP powered applications and platforms will create a springboard towards more Nostr adoption.

WordPress, Drupal and other PHP powered platforms

I advocate that Nostr needs integration with existing well-built and well-adopted tools. Drupal is a leading Web Content Management System that powers some of the largest websites and is one of those tools where Nostr can really shine. If we look even broader, there are many existing PHP powered applications on the web which can benefit with a Nostr integration, such as WordPress.

nostr-php package

A Nostr helper library for PHP

There are not many PHP packages for Nostr yet: https://packagist.org/?query=nostr. When all those PHP websites have an easier way to integrate Nostr with an existing package, possible new Nostr integrations will increase significantly.

I'm applying for a grant to cover development for nostr-php for one year.

Objective: develop and maintain a PHP helper library and distribute this as a package for PHP developers.

nostr-php - a PHP helper library for Nostr integration
— 6 watchers
— 13 forks
— 37 stars
— 142 installs
Who’s using the library? See REFERENCES.md.

Early 2023 the library was built by Kristof (Swentel) who is also a Drupal developer like me. We didn’t know each other before then, but we got in touch while we were both working on a Drupal contrib module for Nostr. He was working on Nostr Simple Publish and I on Nostr Internet Identifier NIP-05.
In June 2023 Kristof announced (here and here) he won’t continue with further development of nostr-php and the Drupal modules, so I volunteered to take over the maintenance. At this moment I'm the only active maintainer.

Deliverables / roadmap

  • See roadmap in Github repository.
  • Demo (SPA) environment built with Symfony & Turbo using the nostr-php library.
  • Weekly reports on nostrver.se (Markdown formatted blog, built with Drupal)

In these reports I'll share the achievements of last week and a plan with actions to work on in the coming week. When this content is created on the site, also events kind 1 and 30023 will be published to the Nostr network for generating exposure.

  • Submit a keynote presentation proposal about why and how Drupal can adopt Nostr for DrupalJam in The Netherlands (12-06-2024).

Built for who?

PHP (framework) developers

Developers working with Symfony, Laravel, Zend, Yii, CodeIgniter, CakePHP, WordPress, ReactPHP, Drupal, TYPO3, CraftCMS, BackdropCMS, Grav, Magento, NextCloud and many other less known PHP powered frameworks and systems. They can use the nostr-php library in their project to integrate Nostr.

→ PHP powered platforms

What are the current PHP powered platforms nowadays which are likely to replace their closed social layer with an open networking protocol?

Looking forward: Nostr empowered Drupal initiative

While developing the nostr-php library, I’m also developing Nostr contrib modules to build Nostr embedded Drupal applications. After the initial development phase of nostr-php, this will be the way I’m heading in further developing new and existing Nostr contrib modules for Drupal.

💡 What I’m currently building for Drupal?
→ Module which enables to publish long-form content from your Drupal website
→ Module which enables to publish short text notes from your Drupal website
→ Module to register / authorize your Nostr account with a user entity on a Drupal website
→ Module to manage Nostr internet identifiers with user entities on a Drupal website

On these links you can read a concept for a grant submission for a Nostr empowered Drupal / PHP initiative and further thoughts how to integrate Nostr into Drupal:

Nostr empowered PHP Drupal initiative

→ 📝 How could Drupal adopt Nostr?

The team

Sebastian Hagens 🇳🇱
I am Sebastian Hagens (1986) living and working in The Netherlands as a fullstack webdeveloper and tech consultant. Father of two little daughters. Working 4 days in a week, self-employed (independent developer) from a small office in an old monastery. I have a set of loyal clients but I also work as a freelancer from time to time. I started to build websites in 1999 with HTML, CSS, JavaScript and PHP.

In 2010 I graduated with a bachelor of design at St.Joost School of Arts and Design with a digital project “root:\ a digital lifeline” around reclaiming your social media data and content.

In 2014 I started to work with Drupal and this tool became my most favorite tool for building solutions for ambitious and complex goals. It feels like a Swiss knife for building many types of web-based solutions.

I would love to see more contributors on the project, so there are some places where we can gather and discuss topics:

Other Nostr stuff and projects

These are some other project I'm working on as well, which are Nostr related in someway.

More contributions can be found on https://nostrver.se.

Sebastian Hagens
📨 info@sebastix.nl
☎️ +31 6 41712778

This content is also published on https://sebastix.notion.site/OpenSats-application-for-Nostr-helper-library-for-PHP-8fb6bd7ac4214fbaaa397b8671170160