Backend dev: interested in helping Zapstore?

Here's a one-off job.

Build the new Zapstore relay on nostr:nprofile1qqsrhuxx8l9ex335q7he0f09aej04zpazpl0ne2cgukyawd24mayt8gprfmhxue69uhhq7tjv9kkjepwve5kzar2v9nzucm0d5hszxmhwden5te0wfjkccte9emk2um5v4exucn5vvhxxmmd9uq3xamnwvaz7tmhda6zuat50phjummwv5hsx7c9z9 's Khatru library in Go.

It must:

- Do fulltext search on specific fields and tags (NIP-50)

- Implement NIP-86 for whitelisting devs and apps

It should be a drop in replacement for the current relay. Search quality roughly similar to current, to start with. We can discuss the most appropriate search/DB stack.

Not sure if this should be a bounty or paid job, so I'm open to offers! Not to mention have the honor badge of having helped the project 🥇

Hit me up!

Reply to this note

Please Login to reply.

Discussion

I might be interested in this. I've been meaning to dig into Khatru and can probably find some time in the coming weeks. Someone with a better grasp on the task might be better suited though.

Thanks man! Do you have experience with Go?

Yes, go is my primary language right now.

will take a quick look in the morning ~plebchain-radio time and see if I can estimate effort / happy to pair up with someone and share the #NOSTR ❤️ just not sure if I’ll have the time / headspace myself 😮

Appreciate it! Do you have experience with Go?

👍

yeah I may not have the time 😢 I’m still halfway adding test coverage to khatru - I really don’t want to work on this code without tests. Will see if I can finish up where I got to (~51%) and regroup later this weekend

😭 think I’m gonna finish up the coverage I have and PR into the wind, start fresh on new code from interfaces and types, everything injected and mocked with tests, structure and pluggable

Options before any application level code … and/or check out grain

Sorry nostr:npub10r8xl2njyepcw2zwv3a6dyufj4e4ajx86hz6v4ehu4gnpupxxp7stjt2p8 I don’t like working on code like this 😞 I forgot why I stopped

Great to see you guys posting a job on nostr!

You might also want to try [satshoot](https://satshoot.com) for these freelance type of gigs! ;)

You're right! Will do next time. Reality is...I don't even know if it's a job. Kind of testing the waters.

Satshoot is best for one-offs gigs I think.

Moreover, open-source apps are the best use cases because there isn't much need for those "corporate secrecy" shenanigans.

Building in the open pays off with easier integration of paid or unpaid collaborators.

I also want more young talent to have opportunities to prove themselves in smaller tasks while also making some money possibly.

You can do gigs for free in satshoot but I really want to see a sustainable FOSS dev ecosystem.

Hi,

we did it.

https://github.com/dezh-tech/ddsr/tree/main/zapoli

the Zapoli is a domain specific relay named after nostr:nprofile1qy2hwumn8ghj7un9d3shjtnyv9kh2uewd9hj7qghwaehxw309aex2mrp0yhxummnw3ezucnpdejz7qpq0r8xl2njyepcw2zwv3a6dyufj4e4ajx86hz6v4ehu4gnpupxxp7s85uvay for software application(NIP-82) by nostr:nprofile1qy2hwumn8ghj76n9d3k8jenfwd5zumrpdejz7qpqhtdamfg82u4nj7zjqj82wnew7wke9vd2cp7r6nsaast5arxujc4qvd7sv5 .

it supports requested features in your note like:

- full-text search(NIP-50)

- management(NIP-86)

Additionally, a built-in blossom server can only be accessed(write) by whitelisted pub keys (developers) to publish their app images and binaries.

you can find the full setup documentation to run it in the above link.

feel free to ask any question or feature request 🤠

Woah! Very nice. I had no idea you were doing this.

It took you long to build? What is your golang skill level? I had a little more experience with khatru and not as convinced with it now.

Hi, thanks.

Not too long, just a few days. We are team building nostr and other freedom tech projects and we have about 4 years experience with golang.

We can easily maintain this implementation with a good quality.

We already developed a lot of nostr projects that you can find in our github:

https://github.com/dezh-tech

How is the indexing performed, do you include/exclude certain tags, give more weight to title etc?

I will check it out next week!

I can't understand what you mean by indexing, including or excluding certain tags, and giving more weight to the title.

Did you mean about search performance and database indexing?

Are you using full text search for NIP-50? If so, what are you indexing?

Zapoli uses Khatru and EventStore to store events and implement full-text search with Bluge. In the current Bluge implementation of EventStore, the configuration is set to a default value and is not configurable. We are working on making the Bluge configuration of EventStore more dynamic and plan to submit a pull request (PR) for this improvement. Once implemented, Zapoli will be able to set the index configuration as needed. 😶‍🌫️

FYI: nostr:nprofile1qyghwumn8ghj7vf5xqhxvdm69e5k7tcpz4mhxue69uhkzet8d9ejuat50phjummwv5hsqgpm7rrrljungc6q0tuh5hj7ue863q73qlheu4vywtzwhx42a7j9n5zgwjy3

This is great and appreciate it, but I don't want you to go out of your way if it's just for Zapstore. I started a relay implementation before your notification, in a language and stack I understand.