This project has been deprecated in favor of using either GitHub Pages or Firebase Hosting with the core boomerang project. That approach is much more straightforward. Firebase Hosting provides free SSL Certificates and HTTPS hosting.
However this project can still be used in combination with Prerender.io if SEO is important for your chapter. You will need to manually update the contents of /war
with the latest changes from boomerang. I had been manually keeping this project updated in the past, but that will no longer happen.
==============================
This is forked from the GDG-X boomerang project.
Boomerang is a template for a dynamic material design GDG chapter web site that can be deployed within 30 minutes. It pulls data from GDG-X Hub and Google+ API using AngularJS and Angular-Material.
See it in action: http://gdg-x.github.io/boomerang
- Install the Google Cloud SDK.
- GAE requires Java 7. Configure your IDE to use Java 7 for the project.
- Node.js
- Setup your local App Engine Dev Server in Preferences->Build, Execution, Deployment->Application Servers.
- Define the path to your App Engine SDK.
- Add the following directories to the libraries list of your new Application Server:
- google-cloud-sdk/platform/appengine-java-sdk/lib
- google-cloud-sdk/platform/appengine-java-sdk/lib/agent
- google-cloud-sdk/platform/appengine-java-sdk/lib/opt/user/appengine-endpoints/v1
- google-cloud-sdk/platform/appengine-java-sdk/lib/opt/user/datanucleus/v2
- google-cloud-sdk/platform/appengine-java-sdk/lib/shared
- google-cloud-sdk/platform/appengine-java-sdk/lib/user
- google-cloud-sdk/platform/appengine-java-sdk/lib/user/orm
Update war/app/services/configService.js with values appropriate for your group:
- name: The name of your GDG
- id: The ID of the Google+ page for your GDG; for example, if your page URL is https://plus.google.com/u/0/b/115803993493374365281/, then the ID is '115803993493374365281'.
- google_api: The API key for your project, available from the Cloud Console
- Create a new project then go to APIs & Auth->APIs, activate Google+ API.
- Go to APIs & Auth->Credentials and under Public API access 'Create new Key' of BrowserKey with
Any referrer allowed
. - pwa_id: The ID for a Picasa web album from which pictures will be drawn. If you do not have a Picasa web album for your group, you will want to comment out the photos tab in index.html.
- twitter, facebook, meetup: Update these with your chapter's social network handles. Setting them to '' will hide the icon.
- Create your Google Analytics account and modify the Google Analytics tracking code in index.html.
- Open war/WEB-INF/appengine-web.xml and put your Project ID (available from Project Overview page of Cloud Console) in the
<application></application>
tag.
- domain: Your custom domain name (or base appspot URL).
- cover.title: An announcement that will appear on the landing page.
- cover.subtitle: More text to support the landing page announcement.
- cover.button.text: Text for the announcement button.
- cover.button.url: The URL that the announcement button will open in another window.
- cover.url: If the cover image drawn from your Google+ page does not work with the default layout, you can specify a URL for a specific image instead.
- Edit the snippet details in the index.html to change how your page looks when it is shared.
- Modify the images in war/app/images/sponsor1 and war/app/images/sponsor2 to be your sponsor images.
- Modify the sponsor links in about.html.
- Create a free https://prerender.io account (up to 250 pages).
- Find your token on prerender.io, insert it into web.xml where it says
INSERT_YOUR_PRERENDER_TOKEN_HERE
. - Update the war/sitemap.xml with the URL of your site.
NOTE: You cannot test prerendering of pages locally.
Here you will install dependencies and tooling, build, minify, run static analysis, and more.
You must have Node.js installed to use the build tools. Download it here.
From the boomerang directory, run the following:
npm install
bower install
gulp prod
NOTE: You may need to use sudo
for running npm
on OS X or Linux.
NOTE: For easier debugging and development use, use gulp dev
but make sure to run gulp prod
before deploying to production.
Make sure you cd into the boomerang-gae directory, then: dev_appserver.sh war
On Windows: dev_appserver.cmd war
- Unit tests can be run once via
gulp karma
or constantly viagulp karma-watch
. - Integration tests can be run via:
node node_modules/protractor/bin/webdriver-manager update
node node_modules/protractor/bin/webdriver-manager start
- Then in a separate terminal:
node node_modules/protractor/bin/protractor test/e2e/conf.js
- WebStorm or IntelliJ IDEA can make this testing a lot easier if you configure the idea to do it for you.
Make sure you cd into the boomerang-gae directory, then: sudo appcfg.sh --oauth2 update war
On Windows: appcfg.cmd --oauth2 update war
If you see an exception about creds, run gcloud auth login
and go through the OAuth flow with the proper account.
This always needs to be done at least the first time.
Make sure that you do the following successfully before committing:
gulp prod
- Make sure you fix any JSCS or JSHint errors.gulp karma
- Make sure that you fix any broken tests.- Protractor tests - Make sure that you fix any broken tests.
- If you changed any dependency versions in
bower.json
, make sure thatconfig/CDN.json
is updated to match.
Maintainer: None.
© 2013-2016 GDG[x]
Licensed under the Apache License, Version 2.0 (the "License");
you may not use this file except in compliance with the License.
You may obtain a copy of the License at
http://www.apache.org/licenses/LICENSE-2.0
Unless required by applicable law or agreed to in writing, software
distributed under the License is distributed on an "AS IS" BASIS,
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
See the License for the specific language governing permissions and
limitations under the License.