mi-nischal / showcase-recipe-search

An app showing Typesense Search in action on a 2M recipe database

Home Page:https://recipe-search.typesense.org

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

🍳 Recipe Search, powered by Typesense

This is a demo that showcases some of Typesense's features using a 2 Million database of recipes.

View it live here: recipe-search.typesense.org

Tech Stack

This search experience is powered by Typesense which is a blazing-fast, open source typo-tolerant search-engine. It is an open source alternative to Algolia and an easier-to-use alternative to ElasticSearch.

The recipe dataset is from Glorf/recipenlg 🙏!

The app was built using the Typesense Adapter for InstantSearch.js and is hosted on S3, with CloudFront for a CDN.

The search backend is powered by a geo-distributed 3-node Typesense cluster running on Typesense Cloud, with nodes in Oregon, Frankfurt and Mumbai.

Repo structure

  • src/ and index.html - contain the frontend UI components, built with Typesense Adapter for InstantSearch.js
  • scripts/indexer - contains the script to index the recipe data into Typesense.
  • scripts/data - contains a 1K sample subset of the recipes database. But you can download the full dataset from the link above.

Development

To run this project locally, install the dependencies and run the local server:

yarn
bundle # JSON parsing takes a while to run using JS when indexing, so we're using Ruby just for indexing

yarn run typesenseServer

ln -s .env.development .env

BATCH_SIZE=1000 yarn run indexer:ruby

yarn start

Open http://localhost:3000 to see the app.

Deployment

The app is hosted on S3, with Cloudfront for a CDN.

yarn build
yarn deploy

aws s3

About

An app showing Typesense Search in action on a 2M recipe database

https://recipe-search.typesense.org

License:Apache License 2.0


Languages

Language:JavaScript 51.6%Language:HTML 25.5%Language:Ruby 18.2%Language:SCSS 4.7%