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-keys
Then start the webpack dev server with
npm start
or (if you prefer having frontend and backend running in separate shells):
npm run start:server
npm run start:frontend
The 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 swecapp
The 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.