Follow the instructions below to install, build, and run the Project Hoverboard locally in less than 15 minutes.
Or you may use Docker container for development
- 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
- Create Firebase account and login into Firebase CLI:
firebase login
- Update Hoverboard config and Resources. More info can be found here
- 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)- 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 install
oryarn
- Run
npm run firestore:init
oryarn firestore:init
- Generate
The diagram below is a brief summary of the directories within the project.
/
|---.temp/
|---appengine/
|---bower_components/
|---build/
|---config/
|---data/
|---docs/
|---functions/
|---gulp-tasks/
|---images/
|---internals/
|---node_modules/
|---scripts/
|---src/
| |---effects/
| |---elements/
| |---mixins/
| |---pages/
|
.temp/
temporary folder used save files after populating templates with data, before polymer build takes over them.appengine/
contains App Engine application that runs CRON job to send scheduled push notifications.bower_components/
is the place for project dependencies.build/
is the directory to deploy to production.config/
folder for core project setup.data/
folder with all data for the template including rest of config and resources for pages.docs/
documentation.functions/
directory with Firebase cloud functions used for notifications, optimizations, saving data, etc.gulp-tasks/
contains gulp tasks moved fromgulpfile.js
to make the file cleaner.images/
is for static images.internals/
contains scripts that helps user to work with the project and it's data (docs).node_modules/
is the place of Node dependencies.scripts/
is the place for JS scripts.src/
is where you store all of your source code and do all of your development.effects/
is where you keep your effects for instancetransparent-scroll.html
that helps to achieve transparent toolbar before the scroll.elements/
is where you keep your custom elements.pages/
is where you keep your pages' description.
- Run locally
cd
into the base directorynpm install
oryarn
npm run serve
oryarn serve
- 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.
Now that your Hoverboard is up and running, learn how to configure app for your needs, or how to deploy the app to the web.