A full-stack search application with Next.js frontend, NestJS backend, and Typesense search engine.
git clone https://github.com/mironovisa/viggin_test_task.git
cd tiny-search-poc
make setupThat's it! The app will be running at:
- 📱 Frontend: http://localhost:3001
- 🔧 Backend: http://localhost:3000
- 🔍 Typesense: http://localhost:8108
- Search through a product catalog
- Fast, typo-tolerant search powered by Typesense
- Modern React frontend with server-side rendering
- REST API backend with TypeScript
- Docker & Docker Compose
- Make
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- Frontend (Next.js) on port 3001 - User interface
- Backend (NestJS) on port 3000 - API server
- Typesense on port 8108 - Search engine
The frontend proxies /api/* requests to the backend, which queries Typesense for search results.
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"]
}No search results?
make index # Re-index the dataServices won't start?
make clean && make setupCheck what's running:
make