Skip to content

methodpark/session-planner

Folders and files

NameName
Last commit message
Last commit date
Oct 10, 2018
Oct 29, 2018
Nov 14, 2018
Nov 5, 2018
Nov 17, 2018
Nov 15, 2018
Oct 17, 2018
Oct 19, 2018
Nov 16, 2018
Nov 16, 2018
Nov 7, 2018
Nov 16, 2018
Nov 16, 2018
Oct 19, 2018
Oct 26, 2018
Nov 17, 2018
Jul 12, 2019
Jun 21, 2019
Nov 18, 2018
Nov 18, 2018
Nov 26, 2018
Oct 17, 2018

Repository files navigation

Session planner

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 mp logo Method Park for the swec logo Software Engineering Camp.

See it in action: https://sessions.swe.camp.

More information about SWEC and Method Park.

Setup

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.

Build and run a docker image

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)

License

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.