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
- Features
- Installation
- Usage
- Project Structure
- Data Structures Used
- Demo
- Contributing
- License
- Acknowledgements
- 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.
- C++ Compiler: Ensure you have a C++20 compatible compiler installed.
- CMake: Version 3.10 or higher.
- Ninja: Version 1.10 or higher.
-
Open Windows PowerShell in Administrator Mode
-
Install CMake
choco install cmake
-
Install Ninja
choco install ninja
-
Install C++ Compiler (MinGW) if haven't
choco install mingw
-
Clone the Repository
git clone https://github.com/muhammadIdhamMaarif/Bodo.git cd Bodo -
Build the Project
mkdir build cd build cmake .. -G Ninja ninja -
Run the Application
./Bodo
Ensure that CMake and a compatible compiler (like MinGW) are properly installed and configured.
Upon running the application, you'll be presented with an interactive menu:
Navigate through the menu by using up and down arrow key, then press "Enter" to confirm.
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.
- Purpose: Manages the sequence of patients waiting for services.
- Operations: Enqueue, Dequeue, Peek, IsEmpty.
- 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.
Contributions are welcome! Here's how you can help:
-
Fork the Repository
Click on the 'Fork' button at the top right of the repository page.
-
Clone Your Fork
git clone https://github.com/yourusername/Bodo.git
-
Create a New Branch
git checkout -b feature/YourFeatureName
-
Make Your Changes
Implement your feature or fix.
-
Commit and Push
git add . git commit -m "Add YourFeatureName" git push origin feature/YourFeatureName
-
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.
This project is licensed under the MIT License.
- C++ Documentation
- GitHub Community
- Universitas Brawijaya
- Asisten Praktikum
Special thanks to all contributors and users who have supported this project.
.png)
.png)








