Skip to content

muhammadIdhamMaarif/Bodo

Folders and files

NameName
Last commit message
Last commit date

Latest commit

Β 

History

40 Commits
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 

Repository files navigation

πŸ₯ Bodo / Booking Dokter : Hospital Queue & Medical Record Management System

Windows

Bodo or "Booking Dokter" is a C++ application that efficiently manages patient queues and medical records using Queue and AVL Tree data structures. It offers a full suite of features, including CRUD operations, fast search, undo functionality, and optional file saving. Designed with an interactive CLI, Bodo serves as a practical example of applying data structures in real-world scenarios.

NOTE :

Bodo can only be used on windows


πŸ“– Table of Contents


✨ Features

  • Patient Queue Management: Efficient handling of patient queues using Queue data structure.
  • Medical Record Management: Organized storage and retrieval of patient records using AVL Trees.
  • CRUD Operations: Create, Read, Update, and Delete functionalities for patient data.
  • Fast Search: Quick retrieval of records through balanced tree structures.
  • Undo Functionality: Revert recent changes to maintain data integrity.
  • File Saving: Optional saving of data to files for persistence.
  • Interactive CLI: User-friendly command-line interface for seamless interaction.

πŸ›  Installation

Prerequisites

  • C++ Compiler: Ensure you have a C++20 compatible compiler installed.
  • CMake: Version 3.10 or higher.
  • Ninja: Version 1.10 or higher.

Install Prerequisites

  1. Install Chocolatey

  2. Open Windows PowerShell in Administrator Mode

  3. Install CMake

    choco install cmake
  4. Install Ninja

    choco install ninja
  5. Install C++ Compiler (MinGW) if haven't

    choco install mingw

Steps

  1. Clone the Repository

    git clone https://github.com/muhammadIdhamMaarif/Bodo.git
    cd Bodo
  2. Build the Project

    mkdir build
    cd build
    cmake .. -G Ninja
    ninja
  3. Run the Application

    ./Bodo

Ensure that CMake and a compatible compiler (like MinGW) are properly installed and configured.


πŸš€ Usage

Upon running the application, you'll be presented with an interactive menu:

Welcome MainMenu

Navigate through the menu by using up and down arrow key, then press "Enter" to confirm.


πŸ“ Project Structure

Bodo/
β”œβ”€β”€ Animation/
β”œβ”€β”€ Core/
β”‚   β”œβ”€β”€ Abstract/
β”‚   β”œβ”€β”€ Helper/
β”‚   β”œβ”€β”€ PeronData/
β”‚   └── Records/
β”œβ”€β”€ Data/
β”œβ”€β”€ DataExample/
β”œβ”€β”€ Interface/
β”‚   β”œβ”€β”€ CLI/
β”‚   └── GUI/
β”œβ”€β”€ StreamingAssets/
β”œβ”€β”€ main.cpp
β”œβ”€β”€ CMakeLists.txt
β”œβ”€β”€ LICENSE
└── README.md
  • Animation/: Contains the welcoming animation and splash screen.
  • Core/: Contains the implementation of core data structures.
  • Data/: Manages the data structure of corresponding classes.
  • DataExample/: Contains 1 template Data.json, to use copy it to build/SaveData/.
  • Interface/: Manages the command-line interface, graphical interface and user interactions.
  • StreamingAssets/: Manages the data save and load, also contains the GIFs and Images.
  • main.cpp: Entry point of the application.

🧠 Data Structures Used

Queue

  • Purpose: Manages the sequence of patients waiting for services.
  • Operations: Enqueue, Dequeue, Peek, IsEmpty.

AVL Tree

  • Purpose: Stores and manages patient medical records with balanced tree properties.
  • Operations: Insert, Delete, Search, In-order Traversal.

Using AVL Trees ensures that search operations remain efficient even as the dataset grows.


🎬 Demo

C1 C2 C3 C4 C5 C6 C7 C8 C9


🀝 Contributing

Contributions are welcome! Here's how you can help:

  1. Fork the Repository

    Click on the 'Fork' button at the top right of the repository page.

  2. Clone Your Fork

    git clone https://github.com/yourusername/Bodo.git
  3. Create a New Branch

    git checkout -b feature/YourFeatureName
  4. Make Your Changes

    Implement your feature or fix.

  5. Commit and Push

    git add .
    git commit -m "Add YourFeatureName"
    git push origin feature/YourFeatureName
  6. Submit a Pull Request

    Navigate to the original repository and open a pull request from your fork.

Please ensure your code adheres to the project's coding standards and includes appropriate documentation.


πŸ“„ License

This project is licensed under the MIT License.


πŸ™ Acknowledgements

Special thanks to all contributors and users who have supported this project.

About

πŸ₯πŸ’» Bodo is a C++ project using Queue 🧾 and AVL Tree 🌲 to manage patient queues and medical records efficiently! Features full CRUD ✏️, fast search πŸ”, and an easy interactive menu πŸ–₯️. Optional file saving πŸ’Ύ and undo ↩️ make it even cooler. Perfect to learn and apply data structures in a real-world hospital scenario! πŸš‘πŸ”₯

Topics

Resources

License

Stars

Watchers

Forks

Packages

 
 
 

Contributors