Inspiration

We've had to make a substantial amount of UML diagrams for university, and we've found the tools at our disposal were subpar. They were either analytical-only (PlantUML) or graphical-only (Visual Paradigm), which is unnecessarily restrictive. We thought we could do better: a program that does both! :o

What it does

Make creating UML diagrams swiftly and confidently possible

How we built it

We built it using C (the language) using Raylib (+GLFW) for the windowing/rendering.

Challenges we ran into

We used C as a challenge (instead of using Rust), which turned out to really be a challenge: not having any form of dynamically allocated vectors took up like 30% of our development time (because we had to keep re-implementing them, since there's no generics of any kind). C's lack of functional string facilities was also a substantial challenge, as most of the program is based around string input and parsing/manipulation: we had to implement our own Rust-style string slice type and textbox-esque widget with all the tooling that comes with them. Overall, essentially all challenges we faced were from our choice of language and were not intrinsic to the project.

Accomplishments that we're proud of

It genuinely works: the textbox feels fluid and responsive, the diagrams look decently good, and the result is exportable. All in all, great success!

What we learned

It is better to avoid C, it really reinforced in us that it should be considered deprecated.

What's next for floatUML

It will be rewritten in Rust, and hopefully compiled to web.

Built With

Share this project:

Updates