A progressive web app to manage the sessions of an (un)conference.
This web app can display the sessions of an (un)conference, notify users of updates regarding sessions they liked and tell them when a session they are interested in is about to start.
This app was written at 
 Method Park for the
 Software Engineering Camp.
See it in action: https://sessions.swe.camp.
More information about SWEC and Method Park.
This project requires Node 10 or later. To build a docker image or run the docker image you need docker as well.
Clone the repository and install the dependencies with
npm ci
npm run generate-notification-keysThen start the webpack dev server with
npm startor (if you prefer having frontend and backend running in separate shells):
npm run start:server
npm run start:frontendThe sessions are stored in sessionsData.json in the root directory.
To build a docker image use the Dockerfile in the project root:
docker build -t swecapp .
docker run -p 3000:8080 -v /path/to/data:/data --name swec swecappThe docker image expects some configuration files in a volume:
- the sessions data (sessionsData.json)
 - public/private key pair for the push notifications (vapid-keys.*)
 - metadata about the push subscriptions (subscriptions.json)
 
This project is licensed under the terms of the MIT license (LICENSE or http://opensource.org/licenses/MIT).
If you use this app for your own event we would appreciate it if you kept our logo and a link to our homepage below the session plan. Similar to what we have in our Footer component.