Back

Address Search (RÚIAN)

School Project
RustLeptosWebAssemblyDocker

This project is my implementation of a task assigned during a database course in high school. The goal was to create a fast and efficient search tool for addresses in the Czech Republic, utilizing data from the official RÚIAN (Register of Territorial Identification, Addresses and Real Estate) database.

Technical Highlights

Database & Full-text Search

The core of the application lies in its database optimization. The primary challenge was to ensure near-instant search results across millions of records.

  • Full-text Indexing: I implemented a FULLTEXT index on a specially prepared search column. This enables flexible searching for partial addresses or terms in any order (e.g., both "Praha Roztylská" and "Roztylská Praha" will return the correct result).
  • Data Normalization: During the CSV import process, data is normalized by removing diacritics, converting to lowercase, and padding numbers. this preparation is crucial for maximizing the efficiency of the full-text search.

Rust & WebAssembly

The entire application is built with Rust, ensuring both memory safety and high performance.

  • Leptos Framework: Both the frontend and the backend (utilizing SSR) are powered by the Leptos framework.
  • WebAssembly (WASM): The client-side logic is compiled to WebAssembly, allowing Rust to run natively in the browser. This project served as an opportunity to explore frontend development outside of the traditional TypeScript ecosystem.

Created as a school project to bridge database theory with high-performance Rust programming.