Retro Games Search App with Xata & Next.js 13

Anjana Vakil

Tutorial: "Searching for retro games with Xata & Next.js 13"

In this tutorial we build a fullstack web app that allows us to search a collection of retro games data, using:
Use Xata's serverless data platform to store & retrieve data without needing a database
Use React Server & Client Components using Next.js 13 and its app/ directory
Implement full-text search with boosting via the Xata SDK

Backstory

My friend & avid retro gamer Sara Vieira had compiled a great collection of retro games data for her awesome site letsplayretro.games, a Next app which already had a ton of great features. But one feature Sara still wished for was full-text search over not just games' names, but all their metadata, with the ability to prioritize (aka "boost") the highest-rated games in the search results.
Since every minute spent coding is one less minute spent playing NES, neither of us wanted to waste a lot of time on making this happen. That's when it dawned on me that I knew of a way to easily implement full-text, boosted search over her tabular data: Xata provides it out of the box!

Overview

The tutorial covers how to:
Import CSV data into Xata
Set up the Xata SDK in a Next project
Use the new app/ directory in Next 13
Build React Server and Client components in app/
Perform full-text search with boosting via the Xata SDK
(Almost) use the new use() hook to fetch data from Client Components

Links

Project code on Github
search-retro-games.vercel.app - an enhanced version of the project featuring: Filtering search results by console; Aggregating to count the total number of games; Debounced search input to avoid over-fetching; More details in search results & game pages
Thanks very much to Xata for sponsoring this work and to retro gaming queen Sara Vieira for making it possible!
Like this project
0

Posted Apr 17, 2025

Created a tutorial teaching how to build a fullstack web app for searching retro games using Xata and Next.js 13.

Likes

0

Views

2

Timeline

Nov 2, 2022 - Ongoing

Clients

Xata.io

Learning Functional Programming in JavaScript Lecture
Learning Functional Programming in JavaScript Lecture
"Learning Observable" YouTube Series
"Learning Observable" YouTube Series