/fractalify

Repo for fractalify.com

Primary LanguageClojureEclipse Public License 1.0EPL-1.0

Fractalify

Not just a clojure example app

fractalify.com is a entertainment and educational webapp for creating & sharing fractal images made via so called L-systems.

Originally, I started this app as a little app for practicing lovely language Clojure & Clojurescript, but over time it somehow became fully usable and nice webapp :)

Main reason I share this code is that I spent fair amount of time finding out how various libraries work together, so every Clojure beginner can take a quick look into this code if he struggles using same libraries.

List of notable libraries used in this project:

Clojure:
Clojurescript:
  • re-frame - Reagent Framework for SPAs (so simple, yet so powerful!)
  • Reagent - Minimalistic React interface
  • material-ui - Material Design components for React. See my library for simpler adding material-ui your project. Not used here.
  • pushy - HTML5 pushState
  • monet - JS Canvas interop
  • Figwheel Hot loads for cljs
  • cljs-ajax
  • WebWorkers - I haven't used any library for this, because none worked for me. It was quite challenging, you can see the code how I eventually managed to get it working.
Both CLJ & CLJS:
  • Schema - Data validation (this is gold!)
  • Plumbing - Utility functions (very useful)
  • Specter - Advanced manipulating lists & maps
  • bidi - Server & Client side routing
  • Transit Format - Format used between client & server

Infinite thanks to creators or Clojure and creators of all these amazing libraries!
Feel free to use code in any way or if you know how to improve it, please let me know.

Enjoy!
@matuslestan