No funded issue found.
Check out the Issue Explorer
Be the OSS Funding you wish to see in the world.
Looking to fund some work? You can submit a new Funded Issue here .
Time left
Opened
Issue Type
Workers Auto Approve
Project Type
Time Commitment
Experience Level
Permissions
Accepted
Reserved For
Build a ERC721 Metadata search on top of Pixura's elastic search API
pixura
react redux sagas elasticsearch erc721 NFT
### User Story
As a developer,
I would like to have a react component for easily adding NFT search to my web page,
because it will be useful to search NFTs without being well versed in elastic search.
### Skills required
* react
* basic understanding of elastic search, (need to understand how to hit the search api and manipulate the example provided)
* javascript
* redux/sagas
### Description
The component will make a search query on the metadata fields given the search values. The metadata fields to search over will be supplied as a property.
The react component will need to make effect-ful calls using the redux-saga flow.
### Expected component:
```html
metadataFields=
resultHandler=
>
```
```html
```
### Expected behavior:
With the given properties: `elasticSearchUrl`, `metadataFields` and `resultHandler`, the component is an input text field that runs the search results via the `resultHandler`.
The `metadataFields` parameter will be used in building the the search. Please see [elastic search DSL docs](https://www.elastic.co/guide/en/elasticsearch/reference/current/query-dsl.html) for more details. These fields should default to `['tags', 'description', 'name']`. There should be a max of 6 fields to search over.
The `elasticSearchUrl`is the url for elastic search api. It should default to `ropsten-api.pixura.io/elasticsearch`.
The `resultHandler` is a function to handle the results from the search. An example use case would be to emit a custom action with the results for a custom reducer to handle the result.
### Implementation
The `metadata` is a nested object in elastic search and requires a nested query. Below is an example of the query to build if `AI` is the word to search for:
```JSON
{
"query":{
"dis_max":{
"tie_breaker":0.7,
"boost":1.2,
"queries":[
{
"nested":{
"path":"metadata",
"score_mode":"avg",
"query":{
"wildcard":{
"metadata.name":"*AI*"
}
}
}
},
{
"nested":{
"path":"metadata",
"score_mode":"avg",
"query":{
"wildcard":{
"metadata.tags":"*AI*"
}
}
}
},
{
"nested":{
"path":"metadata",
"score_mode":"avg",
"query":{
"wildcard":{
"metadata.description":"*AI*"
}
}
}
}
]
}
}
}
```
For development, we've setup an elastic search cluster: https://ropsten-api.pixura.io/elasticsearch. Treat this as you would treat `http://elastic-search-node:9200`.
Setup your profile
Tell us a little about you:
Skills
No results found for [[search]] .
Type to search skills..
Bio Required
[[totalcharacter]] / 240
Are you currently looking for work?
[[ option.string ]]
Next
Setup your profile
Our tools are based on the principles of earn (π°), learn (π), and meet (π¬).
Select the ones you are interested in. You can change it later in your settings.
I'm also an organization manager looking for a great community.
Back
Next
Save
Enable your organization profile
Gitcoin products can help grow community around your brand. Create your tribe, events, and incentivize your community with bounties. Announce new and upcoming events using townsquare. Find top-quality hackers and fund them to work with you on a grant.
These are the organizations you own. If you don't see your organization here please be sure that information is public on your GitHub profile. Gitcoin will sync this information for you.
Select the products you are interested in:
Out of the box you will receive Tribes Lite for your organization. Please provide us with a contact email:
Email
Back
Save