A 'beartastic' image viewer application written in Clojure/ClojureScript using Mapbox GL JS and Reagent.
I started to work on this application with the goal to have my own personalized, highly customized travel/blog/food-guide/photo-diary/stuff-my-parents-would-like-to-see application and also to learn more about programming in Clojure and Clojurescript. The application is not anywhere near complete at the moment, but already provides enough features to be used as a geospatial image viewer. I am of course working relentlessly on creating new features for Globear and you can see a rough outline of the things to come in the TODO section below.
in this project I managed to combine three of my interests:
- Programming Clojure
- Traveling
- Taking some touristy snapshots with my mobile phone
In case you have any questions/advice/suggestions/feature-requests/rants, please feel free to contanct me.
Travel the world and see all the things!
The frontend is written in ClojureScript using Figwheel Main and Reagent and relies (unfortunately) heavly on JavaScript-interops in order to use the Mapbox GL JS API.
The backend is written entirely in Clojure with a basic Leiningen setup, using Ring for HTTP request handling and Compojure for routing.
For usage instructions of the application, see the README files in the respective frontend
and backend
module packages.
Current state of Globear now includes the following features:
- Awsome bear-themed geo-markers :D
- Marker popups display thumbnail presentation of the pictures
- Full-screen picture overlay with lazy loading from backend
- Cluster-markers with bear-themed size indicators for lower zoom steps
- Automatic thumbnail generation in the backend on startup of the app
- New markers can be added via right-click on the map
[Frontend] load large picture on pop-up via actions[Frontend/Backend] make sure resources are cached properly[Frontend] Correct picture orientations (try to parse meta-data using exif-processor)[Frontend] introduce Cluster-Marker[Backend] Nicer Error handling for IO Exceptions[Frontend] Switch to new Globear icons[Mapbox] try out different map styles- [Backend] make AWS deployable
- [Frontend] feature: upload pictures and set markers
- [Frontend] feature: new marker types -> restaurant / text / etc
- [Frontend] feature: more context functionality for right-click on marker
A big thanks for designing the globear icon goes to Kirikia. You can find more of her awsome works here
Copyright © 2019 Riccardo Valentini