# 333gle

> A C++ course project connecting HTTP parsing, sockets, a thread pool, and indexed document search. Includes tests for the server's lower-level components.

- Author: Benjamin Zhuang
- Category: Search systems
- Context: UW CSE 333 coursework
- Years: 2023
- Stack: C++, Multithreading, In-memory indexing, GDB, Valgrind
- Source: https://github.com/Benjaminnnnnn/333gle
- Web page: https://benjaminnnnnn.github.io/portfolio/333gle/

**From a browser request to matching documents.**

## Key figures

- HTTP: request and response handling
- Parallel: multi-query execution
- C++: memory-conscious implementation

## Hand a connection to a worker.

The server opens a listening socket and dispatches accepted connections through a thread pool. Each task carries the connection and index context needed to answer a request.

## Turn a query into a results page.

The HTTP layer handles file and query requests. Query processing uses index-reader libraries from earlier coursework, and the server formats matching documents for the browser.

## Keep the course scope clear.

The repository includes course-provided code and static indexing libraries, plus tests for files, HTTP handling, sockets, and the thread pool.
