Skip to content

exyreams/Rustoria

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

88 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Rustoria: Hospital Management System

      ██████╗░██╗░░░██╗░██████╗████████╗░█████╗░██████╗░██╗░█████╗░
      ██╔══██╗██║░░░██║██╔════╝╚══██╔══╝██╔══██╗██╔══██╗██║██╔══██╗
      ██████╔╝██║░░░██║╚█████╗░░░░██║░░░██║░░██║██████╔╝██║███████║
      ██╔══██╗██║░░░██║░╚═══██╗░░░██║░░░██║░░██║██╔══██╗██║██╔══██║
      ██║░░██║╚██████╔╝██████╔╝░░░██║░░░╚█████╔╝██║░░██║██║██║░░██║
      ╚═╝░░╚═╝░╚═════╝░╚═════╝░░░░╚═╝░░░░╚════╝░╚═╝░░╚═╝╚═╝╚═╝░░╚═╝
  

License: MIT Rust GitHub issues GitHub stars

A comprehensive terminal-based application for hospital management built with Rust, featuring patient management, staff scheduling, medical records, and billing functionality.

🔍 Overview

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.

✨ Features

  • 🧑‍⚕️ 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

📺 Demo

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

🏗️ Project Structure

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

🚀 Installation

Prerequisites

  • Rust 1.60 or newer
  • Cargo package manager

Setup

  1. Clone the repository
git clone https://github.com/exyreams/Rustoria.git
cd Rustoria
  1. Install Rust (if not already installed)

Visit https://www.rust-lang.org/tools/install and follow the instructions for your platform.

  1. Build the project
cargo build --release
  1. Database initialization

The database is automatically created during the first run, using the schema defined in src/db/schema.sql.

▶️ Running the Application

From the project directory, run:

cargo run --release

Or directly execute the compiled binary:

./target/release/rustoria

📦 Dependencies

Rustoria relies on these key Rust crates:

🤝 Contributing

Contributions are welcome and appreciated! Here's how you can contribute:

  1. Fork the repository
  2. Create a feature branch: git checkout -b feature/amazing-feature
  3. Commit your changes: git commit -m 'Add some amazing feature'
  4. Push to the branch: git push origin feature/amazing-feature
  5. Open a Pull Request

Please make sure your code follows the project's style conventions and includes appropriate tests.

📄 License

This project is licensed under the MIT License - see the LICENSE file for details.

👏 Acknowledgments

  • 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

About

Rustoria: CLI based Hospital Management System written in rust.

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages