A modern, high-performance personal library management system built with Rust.
rbibli is a comprehensive web application for managing a personal book collection. It provides features for tracking volumes, authors, series, and loans with a modern, responsive interface and barcode scanning capabilities.
- Volume Management: Track books with detailed metadata, conditions, and physical locations
- Author Management: Maintain author information with bibliographies and relationships
- Series Organization: Group books into series with reading order and completion tracking
- Loan System: Manage borrowers, track loans, and receive overdue notifications
- Barcode Integration: Generate and scan barcodes for efficient library management
- Advanced Search: Find books by multiple criteria with filters and full-text search
- Dewey Classification: Organize books using standard library classification
- Multilingual Support: Interface available in multiple languages
- Language: Rust
- Web Framework: actix-web
- Database: MariaDB/PostgreSQL/MySQL with SQLx
- Validation: validator crate
- Logging: tracing + tracing-subscriber
- Framework: Leptos (Rust compiled to WebAssembly)
- CSS: Tailwind CSS
- State Management: Leptos signals and context
- Build Tool: Trunk for WASM bundling
- HTTP Client: reqwest-wasm
- Containerization: Docker + Docker Compose
- Reverse Proxy: Nginx
- File Storage: Local filesystem
rbibli is in the early stages of development. The project has comprehensive documentation and planning, but implementation is just beginning. Currently, only the basic project structure and initial frontend setup have been completed.
- Rust (latest stable)
- Node.js and npm (for Tailwind CSS)
- MariaDB, PostgreSQL, or MySQL
-
Clone the repository
git clone https://github.com/yourusername/rbibli.git cd rbibli
-
Install dependencies
cargo build
-
Run the frontend development server
cd frontend trunk serve
rbibli/
├── backend/ # Rust backend API
│ ├── src/ # Backend source code
│ ├── Cargo.toml # Cargo file file for backend
│ └── ...
├── frontend/ # Leptos frontend
│ ├── src/ # Frontend source code
│ ├── Cargo.toml # Cargo file file for frontend
│ ├── input.css # CSS file for tailwind
│ ├── tailwind.css # CSS file generated by tailwind
│ ├── Trunk.toml # Trunk configuration
│ ├── index.html # HTML template
│ └── ...
├── documentation/ # Project documentation
└── Cargo.toml # Workspace configuration
- Basic volume management
- Simple database integration
- Core API endpoints
- Basic frontend components
- Barcode generation
- Loan system
- Author management
- Search functionality
- Dewey classification
- Series management
- Statistics and reporting
- Internationalization
This project is licensed under the MIT License - see the LICENSE file for details.
- The Rust community for excellent libraries and tools
- Leptos framework for enabling Rust on the frontend
- All contributors to this project