Project Hoverboard is the conference website template that helps you to set up mobile first conference website with blog, speakers and schedule management in a few minutes.
The template is created based on 7 years of GDG Lviv team experience of running conferences and feedback from more than 500 event organizers from all around the world who were using previous Hoverboard versions.
Our goal is to allow event organizers to set up professional conference website with minimum resources. To get started you need only basic knowledge of web technologies and a free Firebase account.
Feature | Description |
---|---|
Fast and optimized | 91/100 PWA on Lighthouse |
Works offline | shitty WiFi on the venue is not a problem anymore |
Mobile first | layouts optimized for small screens, Hoverboard can be installed as a native app on your phone |
Push notifications | remind about sessions in My schedule, session feedback or target users with a custom message |
SEO optimized | index all content and get to the top in search results |
Speakers and schedule management | keep and update all information in the Firebase |
My schedule | let attendees save sessions they want to visit |
Customizable theme | change colors to match your style |
Blog | post announcements, updates and useful information |
- Fork repository and clone your fork locally
- Install Node.js (v10+)
- Install project dependencies:
npm install
oryarn
- Create Firebase account and login into Firebase CLI:
npx firebase login
- Update Hoverboard config and Resources
- Import initial data to the Firebase Database
- Generate
serviceAccount.json
file- Go to console.firebase.google.com -> Project settings -> Service accounts
- Ensure that Node.js is selected and press Generate new private key
- Read the warning and press Generate key
- Save the file as
serviceAccount.json
and to the root of your hoverboard directory (❗Do NOT commit this file to the public repository)
- Enable Firestore in web console at console.firebase.google.com -> Database -> Cloud Firestore -> Create database. Select locked mode and press Enable
- [Optional] You can edit
docs/default-firebase-data.json)
file using your own data- Select your Firebase project
npx firebase use <YOUR_PROJECT_ID>
- Select your Firebase project
- Run
npm run firestore:init
oryarn firestore:init
- Generate
- Run locally
npm start
oryarn start
- Build and deploy
npm run build
oryarn build
npm run deploy
oryarn deploy
NOTE: By default command using configurations from /configs/development.json
.
To serve locally or deploy the production app use yarn start:prod
and yarn deploy:prod
respectively.
📖 Read the Full Setup Guide.
If you don't want to bother with the dependencies, you can use the docker container for development.
📖 Read more in docker docs.
Here is a git workflow for updating your fork (or downloaded copy) to the latest version:
git remote add upstream https://github.com/gdg-x/hoverboard.git
git fetch upstream
git merge upstream/master
# resolve the merge conflicts in your editor
git add . -u
git commit -m 'Updated to the latest version'
The Getting Started guide is probably a good first point of call!
📖 Full documentation.
✅ Compatible with latest two version of Chrome, Chrome for Android, Firefox, Opera, Safari, Edge.
❌ IE and Opera Mini aren't supported.
- Polymer 2
- Redux
- Firebase
- Service Worker
- CSS Grid
Awesome! Contributions of all kinds are greatly appreciated. To help smoothen the process we have a few non-exhaustive guidelines to follow which should get you going in no time.
Issues labeled good first issue
are a great way to ease into development on this project.
Any other issue labeled help wanted
is ready for a PR.
- Feel free to use GitHub issues for questions, bug reports, and feature requests
- Use the search feature to check for an existing issue
- Include as much information as possible and provide any relevant resources (Eg. screenshots)
- For bug reports ensure you have a reproducible test case
- A pull request with a breaking test would be super preferable here but isn't required
- Squash commits
- Lint your code with eslint (config provided)
- Include relevant test updates/additions
Read the full version Code of Conduct.
Maintainer: Abraham Williams
Authors: Oleh Zasadnyy and Sophie Huts.
This project exists thanks to all the people who contribute. [Contribute].
Most of the core team members, hoverboard contributors and contributors in the ecosystem do this open source work in their free time. If you like this project and it makes your life easier, please donate.
Project is published under the MIT license. Feel free to clone and modify repo as you want, but don't forget to add reference to authors :)
GDG[x] are not endorsed and/or supported by Google, the corporation.