I've been having so many ideas for things to implement on my pokemon site (currently links to the only subpage that has any content so far, the currently very basic card search engine), so i figured i could write them down here. I would like to also use this garden as a somewhat public place to write down notes and ideas (instead of just "informal blog posts"), so i figure this is a good start.
(Also, i had to find a plugin to support the task lists, but it was surprisingly
easy to add and hook up. thanks eleventy! the plugin i used was
markdown-it-task-lists
.)
- Better search engine
- The idea is to be able to search for things like
paradox rift gold
ortwm ir
, and other things that are close to how you would refer to a group of cards normally. - Some way of stripping endings (hardcoded?) so you can say
twm golds
for example. - Show how many results
- Result sorting options
- Edit table algorithm for finding close matches, with a bias for prefixes so that more relevant results pop up early
- No individual search fields, just one box as the main interface
- Advanced options box with options to search for specific fields or limit by other criteria. Unsure if this should be sent to the server, or glued onto the query on the client. Either way all these options should be possible to specify directly in the main query as well, and that's likely how it will be handled on the backend (cleanest is probably to append it to the ADT representation of the query)
- Some proper support for multi-word queries, probably.
illustration rare
should probably strongly prioritize actual IRs over cards that are rare and matchillustration
in some other way, butrare illustration
should probably not return IRs at all, or at least not favor them the same way. bigram index? - Fielded search, for example
attack:"come and get you" name:duskull
- Allow searching for things like:
- Pokemon name, of course
- Set name, either by full name or three-letter code (like "PAR")
- Set id (like "sv4")
- Literal/exact match of multiple words, using quotes
- Attack name/text
- Attack damage and similar attributes like health, retreat cost and weakness/resistance
- Trainer text, rule box text, etc.
- Illustrator
- Rarity, in a couple formats
- Full name (common, uncommon, rare)
- Letters (C, U, R, RR, UR, HR, IR, SIR, SR (secret rare or shiny rare?), SUR, P/BSP)
- common colloquial names
- gold, rainbow (special case crown zenith golds? i don't think they count as hyper rares)
- baby shiny, giga shiny
- fullart (should this be just ultra rares, or all cards with art covering the whole card?)
- half-art for all cards with half-art? what about promos where this can't be determined by rarity?
- Collector number
- Special support for specifying the full number, like
109/111
?
- Special support for specifying the full number, like
- Card type (pokemon, trainer, energy, supporter, stadium)
- Stage (basic, stage1, stage2, restored, level-up, BREAK)
- Card energy type
- Find a good way to allow for OR and AND search. What should the
precedence be? (if comma is OR and space AND, does
a b,c
parse as(a b),c
ora (b,c)
?)-
AND
andOR
literals
-
- Probably allow using parentheses directly for grouping
- Maybe an advanced option menu that lets you search for specific fields still.
- The idea is to be able to search for things like
- Finish user support in the database (add user id fields to
copy
and all other relevant fields) - Finish user support on the website
- Login page
- User setting page
- User menu in navbar
- Make a navbar