Skip to content

Repository files navigation

Tiny Search POC

A full-stack search application with Next.js frontend, NestJS backend, and Typesense search engine.

Quick Start

git clone https://github.com/mironovisa/viggin_test_task.git
cd tiny-search-poc
make setup

That's it! The app will be running at:

What it does

  • Search through a product catalog
  • Fast, typo-tolerant search powered by Typesense
  • Modern React frontend with server-side rendering
  • REST API backend with TypeScript

Requirements

  • Docker & Docker Compose
  • Make

Commands

make setup       # Build and start everything
make down        # Stop all services
make logs        # View logs
make clean       # Clean up everything
make index       # Re-index data
make search      # Test search with curl

How it works

  1. Frontend (Next.js) on port 3001 - User interface
  2. Backend (NestJS) on port 3000 - API server
  3. Typesense on port 8108 - Search engine

The frontend proxies /api/* requests to the backend, which queries Typesense for search results.

Data

Uses data/catalog.jsonl for product data. Each line is a JSON object:

{
  "id": "1",
  "title": "Product Name",
  "price": 19.99,
  "tags": ["category"],
  "rank": 1,
  "collections": ["featured"]
}

Troubleshooting

No search results?

make index  # Re-index the data

Services won't start?

make clean && make setup

Check what's running:

make

About

No description, website, or topics provided.

Resources

Stars

1 star

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages