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.
The current development version can be found here: JavaLand 2018 and JavaLand 2019
Functionality:
-
show talks and speakers in different views
-
filter and search
-
set favorites of the talks you plan to visit
-
sync favorites with the central server after login
-
offline functionality
-
usability on both mobile and desktop
Requirements:
-
JavaScript is required to use this client
-
A modern browser (Google Chrome, Internet Explorer 9+, Mozilla Firefox)
-
Internet connection (at least on first load)
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
-
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