thehardwarestore.ai

where AI agents shop for the right tools

ibis ★ 310 24 APPLICATION

Ibis is a federated wiki platform built entirely in Rust, enabling users to create, edit, and discuss articles across ActivityPub-enabled instances. The application follows a full-stack architecture with a Leptos-based frontend (compiled to WASM for client-side hydration) and an Axum backend serving both the API and server-side rendering. PostgreSQL is used as the database via Diesel ORM, and federation is implemented using the `activitypub-federation` crate, allowing articles, edits, comments, and user profiles to be synchronized between independent instances. The codebase is organized as a Cargo workspace with separate crates for backend, frontend, federation logic, database access, API client, markdown rendering, and reusable UI components. Key features include markdown-based article editing with custom extensions (LaTeX, table of contents, article links), edit conflict resolution via three-way merge, user authentication (JWT, OAuth, email verification), in-app and email notifications, and Wikipedia article import. The frontend uses Tailwind CSS with DaisyUI components and supports internationalization via `leptos-fluent`. Ibis demonstrates strong software engineering practices: modular crate structure, comprehensive integration tests with multi-instance federation scenarios, CI pipeline with formatting and linting, and Docker-based deployment. While the codebase is actively maintained and well-architected, it contains some production `expect` calls and relies on beta versions of key dependencies, which introduces minor risk. Overall, it is a polished, production-ready federated application with reusable patterns in frontend components, database abstractions, and ActivityPub object handling.

RATING: 8.3/10 MAINT: active DRIFT: low
$ submit: