UML++ is a C++ & Javascript editor and generator of UML class diagrams.
- Add, delete, and rename classes within a UML class diagram.
- Store methods (with parameters) and fields within classes.
- Add and delete four types of relationships between classes (aggregation, composition, generalization, realization).
- View classes and diagram through a command line or graphical interface.
- Save and load JSON files that store UML class diagram information.
- Save images of generated UML class diagrams within the GUI.
- A C++ compiler
- cmake (3.18.1+)
- git (2.28.0+)
- Clone this repository locally.
git clone --recurse-submodules -j8 https://github.com/DHDodoCode/umlplusplus.git
- Go to repository root directory.
cd umlplusplus
- Create and then build the project using the following commands.
cmake -B build
cmake --build build --parallel
- Navigate to the build folder that you have created. You must be in the build folder to run the program.
cd build
- For CLI, use "--cli" argument. The interface will open in your command line. For help, type 'help' in the command line or see USER_GUIDE.md.
./project --cli
- For GUI, provide no argument. Open port 60555 and enter interface in your browser through localhost:60555. When running, press "help" to enter a webpage that provides a user guide for using the GUI interface. Further information about the GUI can be found in USER_GUIDE.md.
./project
JSON for Modern C++ - Niels Lohmann (MIT License)
GoogleTest - Google (BSD-3-Clause)
cpp-httplib - Yuji Hirose (MIT License)
svg.js - svgdotjs (MIT License)
svg.draggable.js - svtdotjs (MIT License)
svg-pan-zoom - bumbu (BSD 2-Clause "Simplified" License)
cli - daniele77 (Boost Software License 1.0)
DHDodo - Briar Sauble
jtsha - Jordan Shaffer
ttpyork - Tyler York
NicatFire - Nick Wells
lgnzg - Logan Zug
DragonArchon - Matt Giacoponello