This project is a template for a dynamic web app for a chapter's GDG DevFest. It pulls data from the Google+ API, utilizes Firebase, and is written in AngularJS.
If you are looking for the new & improved DevFest/conference web app template version, go here: DeLorean Project
Luckily the way this project is written, there is no need for any Angular programming skills to utilize this for your GDG chapter. However, you will need to be comfortable with running commands via the comand line.
-
You need a Google Cloud project created for the Google+ API & Google Maps API as well as for Google App Engine (GAE) if you decide to host the DevFest site there for free.
-
After you create a project enable the following APIs:
- Google+ API
- Google Maps JavaScript API
- Google Maps Geocoding API
-
Create an API key:
- Select 'Browser' when asked the type
Secure your API key with the URL where you plan to host the site- Currently this breaks ngMap, so leave off a referrer for the time being
-
If you plan to host on GAE, you will need the GAE SDK
- The GAE SDK can be downloaded from Google App Engine Downloads page.
- This project uses the PHP SDK
-
-
Create a Firebase account, create a new app, and setup Firebase auth for the logins
- Enable "Email & Password Authentication" under "Login & Auth"
- Set the following rules in "Security & Rules"
{ "rules": { ".read": true, ".write": "auth != null" } }
-
Install
yo
,grunt
,bower
,generator-angularfire
andgenerator-karma
Example:
npm install -g generator-angularfire
NOTE: Depending on setup, Mac users may need to use
sudo npm install -g [package name]
instead
-
Fork this repository and then clone locally
-
Install
npm
andbower
dependancies:cd DeLorean && npm install && bower install
NOTE: Depending on setup, Mac users may need to use
sudo npm install
instead -
Update the
app/scripts/config.js
file with:- GDG chapter details
- Google API key
- GDG DevFest details
- GDG social account handles
-
Update the
app/index.html
file:- Add chapter specific details to meta tags in header
- Add Google Analytics key on
line: 54
-
Update the
FBURL
constant with your Firebase app name inapp/scripts/angularfire/config.js
-
Replace
app/images/background.jpg
with a large photo of your choice. (Your city skyline is always a good option) -
Replace
app/images/gdg_group.png
with your chapter's logo. -
Replace
app/images/devfest.png
with your chapter's DevFest logo. -
Replace
app/images/venue_1.png
with a photo of your venue. (TODO: add more venue photos & detail section) -
Update
app/app.yaml
with your Google Cloud Application ID (if planning to host on GAE)
Run grunt build
for building and grunt serve
for preview.
Running grunt test
will run the unit tests with karma. (NOTE: not all tests have been updated/completed)
NOTE: The following deploy process has only been used with the GAE PHP SDK. Also still working on a better grunt
process to automate this.
-
Create a directory called
deploy
within your main project folder. This directory name has already been added to .gitignore to keep repo size down -
Create a directory within the one you just created called
app
. Your path should now look like:[your projects]/DeLorean/deploy/app
-
Run
grunt build
to build your site into the[your path]/DeLorean/dist
directory -
Copy the files from the
dist
directory into theapp
directory you created in step 2 -
Copy the
app.yaml
file from the root project path to[your projects]/DeLorean/deploy
-
Open the GAE launcher, right-click and
Add Existing...
to import this project -
Click the green run button to test the site using a local GAE
-
When ready, click the blue deploy button to upload your site to GAE, and now you have a DevFest site!
-
Create a login for your GDG chapter
- Click on "Log In" in the header
- Click the "Register" button to create an account
-
Turn off registration to protect your site
- Set
allowRegister
to false inapp/scripts/config/js
- Set
-
Add sponsors (must be logged in)
- From the home page, click the green "Add Sponsor" button
- After adding sponsors, you can edit/delete
-
Add Speakers (must be logged in)
- From the speakers page, click the green "Add Speaker" button
- After adding speakers, you can edit/delete
-
Add sessions (must be logged in)
- From the schedule page, click the green "Add Sesssion" button
- After adding sessions, you can edit/delete
-
To log out, click "Log Out" in the header