Skip to content
This repository has been archived by the owner. It is now read-only.

jorinvo/letsdo.events

master
Switch branches/tags
Code

Latest commit

 

Git stats

Files

Permalink
Failed to load latest commit information.
Type
Name
Latest commit message
Commit time
 
 
 
 
src
 
 
 
 
 
 
 
 
 
 
 
 

Let's do events

Intro

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.

Technical overview

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.

Running the application

Run the application directly with clojure -m lde.main

Development

For development run clojure -Adev

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.

Building the application

Pack the application into a single jar file with clojure -Auberjar

Start the application with java -cp target/lde.jar clojure.main -m lde.main

Configuration

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.

License

MIT

About

lightweight, collaborative platform to organize events

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published