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-angularfireandgenerator-karmaExample:
npm install -g generator-angularfireNOTE: Depending on setup, Mac users may need to use
sudo npm install -g [package name]instead
-
Fork this repository and then clone locally
-
Install
npmandbowerdependancies:cd DeLorean && npm install && bower installNOTE: Depending on setup, Mac users may need to use
sudo npm installinstead -
Update the
app/scripts/config.jsfile with:- GDG chapter details
- Google API key
- GDG DevFest details
- GDG social account handles
-
Update the
app/index.htmlfile:- Add chapter specific details to meta tags in header
- Add Google Analytics key on
line: 54
-
Update the
FBURLconstant with your Firebase app name inapp/scripts/angularfire/config.js -
Replace
app/images/background.jpgwith a large photo of your choice. (Your city skyline is always a good option) -
Replace
app/images/gdg_group.pngwith your chapter's logo. -
Replace
app/images/devfest.pngwith your chapter's DevFest logo. -
Replace
app/images/venue_1.pngwith a photo of your venue. (TODO: add more venue photos & detail section) -
Update
app/app.yamlwith 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
deploywithin 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 buildto build your site into the[your path]/DeLorean/distdirectory -
Copy the files from the
distdirectory into theappdirectory you created in step 2 -
Copy the
app.yamlfile 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
allowRegisterto 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