Skip to content

logsbydeepak/quickly

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

34 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Quickly

A small search engine. Crawl pages, index tokens, serve results.

screenshot

Architecture

                  ┌─────────────┐
                  │   Web (UI)  │   apps/www  (Astro)
                  └──────┬──────┘
                         │ HTTP  (PUBLIC_API_URL)
                         ▼
                  ┌─────────────┐
                  │  Search API │   apps/api  (Flask)
                  └──────┬──────┘
                         │ SQL
                         ▼
                  ┌─────────────┐
                  │ PostgreSQL  │   packages/db  (schema + conn)
                  └──────▲──────┘
                         │ writes
        ┌────────────────┼────────────────┐
        │                                 │
 ┌──────┴──────┐                   ┌──────┴──────┐
 │   Spider    │  crawls web  ───▶ │   Indexer   │  tokenizes pages
 │ apps/spider │                   │ apps/index  │
 └─────────────┘                   └──────┬──────┘
                                          │ uses
                                          ▼
                                   ┌─────────────┐
                                   │  Tokenizer  │  packages/tkz
                                   └─────────────┘

Layout

apps/
  api/      Flask /search API
  index/    Token indexer
  spider/   Crawler
  www/      Astro frontend
  html/     Static HTML prototype
packages/
  db/       Postgres helpers + schema
  tkz/      Tokenizer

Requirements

Python 3.12+, uv, Bun, Node 22.12+, PostgreSQL.

Setup

export DB_URL="postgresql://user:pass@localhost:5432/quickly"
uv sync
cd packages/db && make init_db
cd apps/www && bun install

Run

make api                       # API on :5000
cd apps/www && bun run dev     # Frontend

Build search data

cd apps/spider && uv run python main.py https://example.com
cd apps/index && make index_all

Useful commands

make format                    # format Python + frontend
cd apps/www && bun run build
cd packages/db && make drop_db

Docs

About

Quickly is a small search engine workspace. It crawls pages, stores page metadata and links, builds a token index, exposes search results through a Flask API, and renders a fast Astro web UI.

Resources

Stars

0 stars

Watchers

0 watching

Forks

Contributors