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-toolsoryarn 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.jsonfile (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.jsonand 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 installoryarn - Run
npm run firestore:initoryarn 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.jsto 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.htmlthat 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
cdinto the base directorynpm installoryarnnpm run serveoryarn serve
- Deploy
npm run deployoryarn 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.