announcing fivestar
fivestar devlog: November 12, 2025
today's updates focus on search and on lists. i had ai present to me what we did today, here it is copied and pasted: Development Report - FiveStar PlatformSummaryEnhanced the Lists and Search features with improved UI, filtering, and full-collection search.1. Lists Feature EnhancementsFixed missing NFT dataIssue: List detail page showed "error loading items" and missing NFT metadataFix:Corrected destructuring mismatch in loadListItemsImplemented image extraction logic matching the NFT detail ..
fivestar devlog: november 11, 2025
first attempt at a devlog. my idea is for it to be a sort of informal way for me to keep everyone up to date with what i'm up to
<100 subscribers
announcing fivestar
fivestar devlog: November 12, 2025
today's updates focus on search and on lists. i had ai present to me what we did today, here it is copied and pasted: Development Report - FiveStar PlatformSummaryEnhanced the Lists and Search features with improved UI, filtering, and full-collection search.1. Lists Feature EnhancementsFixed missing NFT dataIssue: List detail page showed "error loading items" and missing NFT metadataFix:Corrected destructuring mismatch in loadListItemsImplemented image extraction logic matching the NFT detail ..
fivestar devlog: november 11, 2025
first attempt at a devlog. my idea is for it to be a sort of informal way for me to keep everyone up to date with what i'm up to
Share Dialog
Share Dialog
Problem: NFTs showing as "Unknown Collection" with placeholder images
Solution: Updated list-detail.js to use NFTSearch.getNFTMetadata() instead of hardcoded Alchemy API calls
Result: Lists now display NFT names, collection names, and images correctly
Added new "Owned NFTs" tab on user profile pages
Implemented getNFTsForOwner() support for OpenSea API v2
Features:
Displays NFTs owned by the profile address
Pagination with "Load More" button
Clickable cards that navigate to NFT detail pages
Uses image ratio utility for proper aspect ratios
Result: Users can browse all NFTs owned by any profile address
New page showing all users who have left reviews
Features:
4 sorting options: Most Reviews, Most Recent Review, Highest Average Rating, Alphabetical
Member cards showing: review count, average rating (with stars), last review date
Clickable cards to view user profiles
Added route in main.js and updated header navigation
Result: Users can discover and browse all active reviewers
Updated getNFTsForOwner() to use OpenSea v2 endpoint (/api/v2/chain/{chain}/account/{address}/nfts)
Fixed NFT data transformation to handle v2 response format (identifier, contract, collection fields)
Updated all OpenSea v2 endpoints to support chain parameter:
getCollection() - now uses chain from config
getNFTs() - now uses chain from config
getNFTMetadata() - now uses chain from config
Result: Chain filter now works correctly with OpenSea v2 endpoints
Applied adjustImageDisplay utility function across all image display areas:
NFT detail pages
Search results
Collection browse sections
Visual showcase
Feed page
List detail pages
Profile owned NFTs
Result: Images display at natural aspect ratios, with vertical images showing full height
Created proxy-server.js - Express server to bypass CORS for OpenSea v1 endpoints
Created package.json with dependencies
Updated nft-search.js to use proxy when proxyServerUrl is configured
Updated config.js with proxy configuration option
Created README-PROXY.md with setup instructions
Result: Infrastructure in place for collection/NFT name search (when OpenSea API is responsive)
Problem: OpenSea v1 API returns 522 (timeout) errors
Root cause: OpenSea v1 API doesn't support CORS from browsers, and their API appears slow/unreliable
Current status:
Proxy server is set up and running
Code is configured to use proxy
OpenSea API is timing out (522 errors)
Next steps:
Test if OpenSea API is currently down/slow
Consider alternative search methods (contract addresses, collection slugs)
May need to wait for OpenSea API to be more stable
Same problem as collection search (OpenSea v1 API timeouts)
Proxy is configured but OpenSea API is not responding reliably
Unified API integration: All components now use NFTSearch methods instead of hardcoded API calls
Chain support: OpenSea v2 endpoints now respect chain filter selection
Error handling: Better error messages for CORS, timeouts, and API failures
Code organization: Centralized NFT data formatting and transformation
list-detail.js - Fixed NFT loading
profile.js - Added owned NFTs section
members-page.js - New file for members page
backend-api.js - Added getAllReviewers() method
nft-search.js - OpenSea v2 support, chain parameter support, proxy integration
main.js - Added members route
components/header.js - Updated members link
index.html - Added members-page.js script
styles.css - Added members page styles
config.js - Added proxy server configuration
proxy-server.js - New proxy server file
package.json - New dependencies file
README-PROXY.md - New documentation
List detail pages show NFTs correctly
Profile pages show owned NFTs
Members page displays and sorts reviewers
Chain filter works with OpenSea v2 endpoints
Image ratios display correctly everywhere
Proxy server is running and configured
Collection name search (OpenSea API timeouts)
NFT name search (OpenSea API timeouts)
The proxy infrastructure is in place; the blocker is OpenSea API reliability. Consider using contract addresses or collection slugs as an alternative search method.
Problem: NFTs showing as "Unknown Collection" with placeholder images
Solution: Updated list-detail.js to use NFTSearch.getNFTMetadata() instead of hardcoded Alchemy API calls
Result: Lists now display NFT names, collection names, and images correctly
Added new "Owned NFTs" tab on user profile pages
Implemented getNFTsForOwner() support for OpenSea API v2
Features:
Displays NFTs owned by the profile address
Pagination with "Load More" button
Clickable cards that navigate to NFT detail pages
Uses image ratio utility for proper aspect ratios
Result: Users can browse all NFTs owned by any profile address
New page showing all users who have left reviews
Features:
4 sorting options: Most Reviews, Most Recent Review, Highest Average Rating, Alphabetical
Member cards showing: review count, average rating (with stars), last review date
Clickable cards to view user profiles
Added route in main.js and updated header navigation
Result: Users can discover and browse all active reviewers
Updated getNFTsForOwner() to use OpenSea v2 endpoint (/api/v2/chain/{chain}/account/{address}/nfts)
Fixed NFT data transformation to handle v2 response format (identifier, contract, collection fields)
Updated all OpenSea v2 endpoints to support chain parameter:
getCollection() - now uses chain from config
getNFTs() - now uses chain from config
getNFTMetadata() - now uses chain from config
Result: Chain filter now works correctly with OpenSea v2 endpoints
Applied adjustImageDisplay utility function across all image display areas:
NFT detail pages
Search results
Collection browse sections
Visual showcase
Feed page
List detail pages
Profile owned NFTs
Result: Images display at natural aspect ratios, with vertical images showing full height
Created proxy-server.js - Express server to bypass CORS for OpenSea v1 endpoints
Created package.json with dependencies
Updated nft-search.js to use proxy when proxyServerUrl is configured
Updated config.js with proxy configuration option
Created README-PROXY.md with setup instructions
Result: Infrastructure in place for collection/NFT name search (when OpenSea API is responsive)
Problem: OpenSea v1 API returns 522 (timeout) errors
Root cause: OpenSea v1 API doesn't support CORS from browsers, and their API appears slow/unreliable
Current status:
Proxy server is set up and running
Code is configured to use proxy
OpenSea API is timing out (522 errors)
Next steps:
Test if OpenSea API is currently down/slow
Consider alternative search methods (contract addresses, collection slugs)
May need to wait for OpenSea API to be more stable
Same problem as collection search (OpenSea v1 API timeouts)
Proxy is configured but OpenSea API is not responding reliably
Unified API integration: All components now use NFTSearch methods instead of hardcoded API calls
Chain support: OpenSea v2 endpoints now respect chain filter selection
Error handling: Better error messages for CORS, timeouts, and API failures
Code organization: Centralized NFT data formatting and transformation
list-detail.js - Fixed NFT loading
profile.js - Added owned NFTs section
members-page.js - New file for members page
backend-api.js - Added getAllReviewers() method
nft-search.js - OpenSea v2 support, chain parameter support, proxy integration
main.js - Added members route
components/header.js - Updated members link
index.html - Added members-page.js script
styles.css - Added members page styles
config.js - Added proxy server configuration
proxy-server.js - New proxy server file
package.json - New dependencies file
README-PROXY.md - New documentation
List detail pages show NFTs correctly
Profile pages show owned NFTs
Members page displays and sorts reviewers
Chain filter works with OpenSea v2 endpoints
Image ratios display correctly everywhere
Proxy server is running and configured
Collection name search (OpenSea API timeouts)
NFT name search (OpenSea API timeouts)
The proxy infrastructure is in place; the blocker is OpenSea API reliability. Consider using contract addresses or collection slugs as an alternative search method.
No comments yet