Skip to content

Latest commit

 

History

History
142 lines (104 loc) · 7.39 KB

README.md

File metadata and controls

142 lines (104 loc) · 7.39 KB

⚡ Live demo  |   🚀 Get Started

Build Status FOSSA StatusCodacy Badge

Overview

Project Hoverboard is the conference website template that helps you to set up a mobile-first conference website with blog, speaker 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 a 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

  1. Fork repository and clone your fork locally
  2. Install Node.js (v10+)
  3. Install project dependencies: npm install or yarn
  4. Create Firebase account and login into Firebase CLI: npx firebase login
  5. Update Hoverboard config and Resources
  6. 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>
    • Run npm run firestore:init or yarn firestore:init
  7. Run locally
    • npm start or yarn start
  8. Build and deploy
    • npm run build or yarn build
    • npm run deploy or yarn 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.

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/master
# 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: Abraham Williams
Authors: 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

FOSSA Status

The project is published under the MIT license. Feel free to clone and modify repo as you want, but don't forget to add a reference to authors :)

GDG[x] is not endorsed and/or supported by Google, the corporation.