This provides a conference planner for example for the JavaLand Conference
Clone or download
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Permalink
Type Name Latest commit message Commit time
Failed to load latest commit information.
build
config
doc
docker-src
oldapi
src
static
test
.babelrc
.editorconfig
.eslintignore
.eslintrc.js
.gitignore
.htaccess
.npmrc
.postcssrc.js
.travis.yml
Jenkinsfile
LICENSE
README.adoc
docker-mvn.sh
filter-shrinkwrap.js
index.html
npm-shrinkwrap.json
package.json
pom.xml
shrinkwrap.bat

README.adoc

Dukecon PWA HTML Client

Intention - why this project exists

This implements a conference planner for different Conferences, for example JavaLand.

There are different clients for users. This client is the HTML and JavaScript client.

Build Status: Build Status

The current development version can be found here: JavaLand 2017, JavaLand 2018, DOAG 2017 and

Overview

Functionality:

  1. show talks and speakers in different views

  2. filter and search

  3. set favorites of the talks you plan to visit

  4. sync favorites with the central server after login

  5. offline functionality

  6. usability on both mobile and desktop

Requirements:

  1. JavaScript is required to use this client

  2. A modern browser (Google Chrome, Internet Explorer 9+, Mozilla Firefox)

  3. Internet connection (at least on first load)

Developer and Admin Docs

You find more information for developers in the developer docs

You find more information about consumed and provided interfaces in the interfaces docs

Use the following NPM commands to start developing.

# install dependencies
npm install

# update dependencies
npm update

# serve with hot reload at localhost:8080
npm run dev

# build for production with minification
npm run build

# build for production and view the bundle analyzer report
npm run build --report

# run unit tests
npm run unit

# run unit tests in a loop
npm run unitloop

# run e2e tests
npm run e2e

# run all tests
npm test

TODOs

Functionality

  • show error message if speaker ID or event ID given in URL doesn’t exist

Future

  • Separate route for each day in the overview: this will allow back-navigation when switching days and direct routing to a specific day

  • hide days without events while searching/filtering

  • define order of talks in TalksGrid: this will give stable sorting independent of order in the backend

  • Provide an offline app using a manifest (see index.html - currently commented out as it will require to have a conference specific manifest.json and icons)

Performance:

  • Use Vue virtual scroller for faster rendering

  • Use computed properties in TimetablePage.vue

Out-of-scope

  • Cookie warning - no longer used by DOAG

  • link to account management when logged in - not used by any conference