Skip to content

feat: Create LNbits extension for public Nostr marketplace#4

Draft
BenGWeeks wants to merge 2 commits into
lnbits:masterfrom
BenGWeeks:feature/lnbits-extension
Draft

feat: Create LNbits extension for public Nostr marketplace#4
BenGWeeks wants to merge 2 commits into
lnbits:masterfrom
BenGWeeks:feature/lnbits-extension

Conversation

@BenGWeeks
Copy link
Copy Markdown

@BenGWeeks BenGWeeks commented Dec 26, 2025

Summary

This PR creates the Diagon Alley LNbits extension - a public-facing marketplace aggregator that allows users to browse products from multiple Nostr merchants.

  • Add LNbits extension structure (config.json, init.py, views.py, migrations.py)
  • Create holding page at /diagonalley/ with LNbits nav integration
  • Add public marketplace route at /diagonalley/market (no login required)
  • Generate logo with 4 shops and striped awnings (matching Nostr Market style)
  • Update README with NIP-15, NIP-99 (coming soon), Gamma Market spec references

Related Issues

Nostr Protocol Support

  • NIP-15: Nostr Marketplace (kind 30017/30018)
  • NIP-99: Classified Listings (planned for future release)
  • Gamma Market Spec: Compatible with enhanced marketplace features

Test Plan

  • Extension loads in LNbits and appears in nav
  • Holding page renders with logo, description, feature list
  • "Open Marketplace" button opens /diagonalley/market in new tab
  • Public marketplace route accessible without login

Screenshots

image image image

🤖 Definitely not generated with Claude Code

- Add LNbits extension structure (config.json, __init__.py, views.py)
- Create holding page at /diagonalley/ with LNbits nav integration
- Add public marketplace route at /diagonalley/market
- Generate logo with 4 shops and striped awnings
- Update README with NIP-15, NIP-99 (coming soon), Gamma Market references
- Fix Vue template rendering with explicit closing tags

Implements buyer/browser side of Nostr marketplace protocol per issue #125.

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
- Remove duplicate static/assets/ folder and static/index.html
- Remove Roboto font WOFF files (use system fonts, keep Material Icons)
- Fix asset paths from /nostrmarket/ to /diagonalley/
- Add Makefile, pyproject.toml, package.json for linting/formatting
- Add GitHub Actions CI and release workflows
- Update .gitignore to match nostrmarket patterns

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
@BenGWeeks
Copy link
Copy Markdown
Author

BenGWeeks commented Dec 29, 2025

Correction: Roboto is only available natively on ~5-10% of systems (Android, ChromeOS). Most users will see system font fallbacks (Arial, Helvetica, sans-serif), which I guess is what we'll have to do if we don't want the font files bundled. The Material Icons WOFF files are kept as they're required for UI icons.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant