β‘ Live demo | π Get Started
Overview
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.
Features
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 |
Getting Started
- Fork repository and clone it locally
- Setup Environment
- Install Node.js (v8.9.4 or above)
- Install Firebase CLI:
npm i -g firebase-tools
oryarn global add firebase-tools
- Install project dependencies:
npm install
oryarn
- Create Firebase account and login into Firebase CLI:
firebase login
- Update Hoverboard config and Resources
- Import initial data to the Firebase Database
- Generate
serviceAccount.json
file- Go to https://console.firebase.google.com/project/%YOUR_PROJECT_ID%/settings/serviceaccounts/adminsdk
- Ensure that Node.js is selected and press GENERATE NEW PRIVATE KEY
- Save the file as
serviceAccount.json
and to the root of your hoverboard directory (βDo NOT commit this file to the public repository)
- [Optional] You can edit
docs/default-firebase-data.json)
file using your own data - Run
npm run firestore:init
oryarn firestore:init
- Generate
- Run locally
npm run serve
oryarn serve
- Build and deploy
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 serve:prod
and yarn deploy:prod
respectively.
π Read the Full Setup Guide.
Docker-based development environment
If you don't want to bother with the dependencies, you can use the docker container for development.
π Read more in docker docs.
Updating
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/hoverboard
# resolve the merge conflicts in your editor
git add . -u
git commit -m 'Updated to the latest version'
Documentation
The Getting Started guide is probably a good first point of call!
π Full documentation.
Compatibility
β
Compatible with latest two version of Chrome, Chrome for Android, Firefox, Opera, Safari, Edge.
β IE and Opera Mini aren't supported.
Technology Stack
- Polymer 2
- Redux
- Firebase
- Service Worker
- CSS Grid
Contributing
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.
Good First Issue
Issues labeled good first issue
are a great way to ease into development on this project.
Help Wanted Label
Any other issue labeled help wanted
is ready for a PR.
Using GitHub Issues
- 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
Submitting a Pull Request
- Squash commits
- Lint your code with eslint (config provided)
- Include relevant test updates/additions
Code of Conduct
Read the full version Code of Conduct.
Contributors
Maintainer: Oleh Zasadnyy and Sophie Huts.
This project exists thanks to all the people who contribute. [Contribute].
Sponsoring
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.
License
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.