Skip to content

Hassan-ach/boogle

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

110 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Boogle - Learning Search Engine

A 2000s-style search engine built for educational purposes.

Quick Start

# Copy and configure environment
cp .env.example .env

# Deploy everything (creates network, builds images, starts all services)
./deploy.sh

# Open browser
open http://localhost:1323

# Live monitoring dashboard
open http://localhost:7070

Services

Service Language Purpose
Engine Go Web interface, query handling, search results
Spider Go Web crawler, link discovery
Indexer Rust HTML parsing, word extraction, TF calculation
Ranking Python TF-IDF and PageRank scoring
Monitoring TypeScript Service orchestration, health checks, live dashboard

Pipeline

Web → Spider → Indexer → Ranking → Engine → User
                              ↑
                         Monitoring (watches & restarts all)

Requirements

  • Docker & Docker Compose V2
  • Git

All other dependencies (PostgreSQL, Redis, language runtimes) run inside containers.

Setup

  1. Clone the repo and cd into it
  2. Copy .env.example to .env and fill in real secrets
  3. Copy each services/<svc>/.env.example to services/<svc>/.env
  4. Run ./deploy.sh

For a full teardown and clean rebuild:

./deploy.sh --pull --build --restart

Docs

Development

See individual service READMEs in services/ for language-specific build commands.


Status: Learning project — not for production
License: MIT