██████╗░██╗░░░██╗░██████╗████████╗░█████╗░██████╗░██╗░█████╗░ ██╔══██╗██║░░░██║██╔════╝╚══██╔══╝██╔══██╗██╔══██╗██║██╔══██╗ ██████╔╝██║░░░██║╚█████╗░░░░██║░░░██║░░██║██████╔╝██║███████║ ██╔══██╗██║░░░██║░╚═══██╗░░░██║░░░██║░░██║██╔══██╗██║██╔══██║ ██║░░██║╚██████╔╝██████╔╝░░░██║░░░╚█████╔╝██║░░██║██║██║░░██║ ╚═╝░░╚═╝░╚═════╝░╚═════╝░░░░╚═╝░░░░╚════╝░╚═╝░░╚═╝╚═╝╚═╝░░╚═╝
A comprehensive terminal-based application for hospital management built with Rust, featuring patient management, staff scheduling, medical records, and billing functionality.
Rustoria is a powerful, efficient terminal-based hospital management system built using Rust. It leverages the ratatui
library for creating a responsive terminal UI and rusqlite
for secure and reliable database operations. The system provides comprehensive tools for healthcare administrators to manage patients, staff, medical records, and billing in a single integrated application.
-
🧑⚕️ Patient Management
- Add, update, and delete patient profiles
- View complete patient history and details
- Search and filter patient records
-
👩⚕️ Staff Management
- Maintain staff records and credentials
- Manage staff schedules and shift assignments
- Track staff performance and specializations
-
📝 Medical Records
- Create and maintain detailed medical records
- Attach test results and diagnosis information
- Secure access controls for sensitive information
-
💰 Billing & Finance
- Generate and manage patient invoices
- Track payments and outstanding balances
- Generate financial reports
-
🔐 Authentication
- Secure password storage with bcrypt
- Session management
Use root
as username/password (default credentials) or click "Create Account" to set up a new user.
- Registration/Login:
registration_login.webm
- Loading Mockdata to database:
loading_mock_data.webm
- Biling & Finance Demo:
biling_finance.webm
- Medical Records Management:
medical_records.webm
- Patient Management:
patient_management.webm
- Staff management:
staff_management.webm
Rustoria/
├── src/
│ ├── components/
│ │ ├── hospital/
│ │ │ ├── finance/
│ │ │ │ ├── invoice.rs
│ │ │ │ ├── mod.rs
│ │ │ │ ├── update.rs
│ │ │ └── └── view.rs
│ │ │ ├── patients/
│ │ │ │ ├── add.rs
│ │ │ │ ├── delete.rs
│ │ │ │ ├── list.rs
│ │ │ │ ├── mod.rs
│ │ │ └── └── update.rs
│ │ │ ├── records/
│ │ │ │ ├── delete.rs
│ │ │ │ ├── mod.rs
│ │ │ │ ├── retrieve.rs
│ │ │ │ ├── store.rs
│ │ │ └── └── update.rs
│ │ │ ├── staff/
│ │ │ │ ├── add.rs
│ │ │ │ ├── assign.rs
│ │ │ │ ├── delete.rs
│ │ │ │ ├── list.rs
│ │ │ │ ├── mod.rs
│ │ │ └── └── update.rs
│ │ └── └── mod.rs
│ │ ├── home.rs
│ │ ├── login.rs
│ │ ├── mod.rs
│ └── └── register.rs
│ ├── db/
│ │ ├── mod.rs
│ └── └── schema.sql
│ ├── app.rs
│ ├── auth.rs
│ ├── main.rs
│ ├── models.rs
│ ├── tui.rs
└── └── utils.rs
├── Cargo.toml
└── rustoria.db
- Rust 1.60 or newer
- Cargo package manager
- Clone the repository
git clone https://github.com/exyreams/Rustoria.git
cd Rustoria
- Install Rust (if not already installed)
Visit https://www.rust-lang.org/tools/install and follow the instructions for your platform.
- Build the project
cargo build --release
- Database initialization
The database is automatically created during the first run, using the schema defined in src/db/schema.sql
.
From the project directory, run:
cargo run --release
Or directly execute the compiled binary:
./target/release/rustoria
Rustoria relies on these key Rust crates:
- ratatui: Terminal UI library
- crossterm: Terminal manipulation
- rusqlite: SQLite database interface
- bcrypt: Password hashing
- anyhow: Error handling
- serde: Serialization framework
- time: Time manipulation
Contributions are welcome and appreciated! Here's how you can contribute:
- Fork the repository
- Create a feature branch:
git checkout -b feature/amazing-feature
- Commit your changes:
git commit -m 'Add some amazing feature'
- Push to the branch:
git push origin feature/amazing-feature
- Open a Pull Request
Please make sure your code follows the project's style conventions and includes appropriate tests.
This project is licensed under the MIT License - see the LICENSE file for details.
- Thanks to the Rust community for providing excellent libraries and tools
- Special appreciation to the
ratatui
team for their outstanding terminal UI framework - All contributors who have helped improve this project
© 2025 Rustoria Hospital Management System