letsdo.events is a lightweight, collaborative platform to organize events. Company-internal tech talks, regular meetups, activities around a conference - with letsdo.events everyone can suggest a topic, others can show their interest and sign up.
The application is built around topics and events belonging to a topic. Topics can be public or invite-only.
The application is designed in such a way that additionally to using the version available at https://letsdo.events it is also simple to run it on your own server. All you need is a JVM and a single jar file. No external database is needed, all data is stored in a local file directory using Crux as database and RocksDB as storage.
Authentication can be done in the classical way with email + password but also via email-only. Email-only authentication works via login links that contain JWT tokens.
An SMTP configuration must to be provided to enable login and invite emails.
Optionally Honeycomb can be configured to get observability into the operation of the application.
Run the application directly with clj -Mrun
For development run clj -Mdev
This makes sure the web server rebuilds all routing functions with every request so you can make overwrite functions while the application is running.
There is also a helper to reload all open browser sessions directly from your REPL/editor:
(do (in-ns 'dev.reload) (reload-browser))
The function uses a web socket connect to tell the browsers to reload.
Pack the application into a single jar file with clj -Muberjar
Start the application with java -cp target/lde.jar clojure.main -m lde.main
No configuration is required but most likely you like to make some adjustments.
To overwrite defaults you can pass the path to a EDN file as first argument when running lde.main
.
For available options please have a look at the config namespace.