Skip to content

Commit

Permalink
Initial commit
Browse files Browse the repository at this point in the history
  • Loading branch information
CSchmitz81 committed Mar 7, 2017
0 parents commit d9bc031
Show file tree
Hide file tree
Showing 82 changed files with 7,434 additions and 0 deletions.
4 changes: 4 additions & 0 deletions .gitignore
@@ -0,0 +1,4 @@
bower_components
dist
node_modules
build
674 changes: 674 additions & 0 deletions GPL_LICENSE

Large diffs are not rendered by default.

25 changes: 25 additions & 0 deletions LICENSE
@@ -0,0 +1,25 @@
Copyright (c) 2017 Foundation For an Innovative Future (InnovativeFuture.org)

This program is free software: you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
the Free Software Foundation, either version 3 of the License, or any
later version.

Foundation For an Innovative Future reserves the right to release the
covered work, in part or in whole, under a different open source
license and/or with specific copyleft exclusions. Such a release
would not invalidate the license for this project, although the
project released with a modified license would not be considered
part of this covered work or subject to the copyleft portions of this
license even if the projects are identical.

This program is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
GNU General Public License for more details.

You should have received a copy of the GNU General Public License
along with this program. If not, see <http://www.gnu.org/licenses/>.

Please email contact@innovativeFuture.org for inquiries related to
this license.
152 changes: 152 additions & 0 deletions README.md
@@ -0,0 +1,152 @@
# Collaboration Tree Site Demo

This project is intended to show how the Collaboration Tree hosting site will
work. The core Collaboration Tree (cTree) framework, which the site is based
on, will be able to function as independent sites or as part of other sites.
Even though this is a demo, the components developed for it should be clean and
complete enough to use for the fully functional site.

One aspiration of this project is to follow the "PRPL pattern". This pattern
allows fast first delivery and interaction with the content at the initial route
requested by the user, along with fast subsequent navigation by pre-caching the
remaining components required by the app and progressively loading them
on-demand as the user navigates through the app.

The PRPL pattern, in a nutshell:

* **Push** components required for the initial route
* **Render** initial route ASAP
* **Pre-cache** components for remaining routes
* **Lazy-load** and progressively upgrade next routes on-demand

## License
Copyright (c) 2017 Foundation For an Innovative Future (InnovativeFuture.org)

This program is free software: you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
the Free Software Foundation, either version 3 of the License, or any
later version.

Foundation For an Innovative Future reserves the right to release the
covered work, in part or in whole, under a different open source
license and/or with specific copyleft exclusions. Such a release
would not invalidate the license for this project, although the
project released with a modified license would not be considered
part of this covered work or subject to the copyleft portions of this
license even if the projects are identical.

This program is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
GNU General Public License for more details.

You should have received a copy of the GNU General Public License
along with this program. If not, see <http://www.gnu.org/licenses/>.

Please email contact@innovativeFuture.org for inquiries related to
this license.

## Usage

### Setup

#### Prerequisites

##### Install Git

https://git-scm.com/downloads

##### Install the current LTS version (4.x) of Node.js or newer

https://nodejs.org/en/download/

##### Install the latest version of Bower

npm install -g bower

##### Install [polymer-cli](https://github.com/Polymer/polymer-cli):

npm install -g polymer-cli

#### Checkout project

##### Create project folder in workspace (ex. cTree)

##### Open project folder in command prompt

cd <WORKSPACE>\cTree

##### Clone from GitHub
...

##### Open command prompt to war folder of project

cd <WORKSPACE>\cTree\war

##### Insall 3rd party dependencies

bower install

#### Recommended development environment

##### Install Atom

https://atom.io

##### Install packages (File > Settings > Install)

* atom-ternjs
* minimap
* auto-detect-indentation
* autoclose-html
* lint checking
** linter
** linter-eslint
** linter-csslint
** linter-flow
* other favorite packages
** https://www.sitepoint.com/10-essential-atom-add-ons/
** https://medium.com/@satya164/supercharged-javascript-development-in-atom-ea034e22eabc


### Start the development server

This command serves the app at `http://localhost:8080` and provides basic URL
routing for the app:

polymer serve


### Build

This command performs HTML, CSS, and JS minification on the application
dependencies, and generates a service-worker.js file with code to pre-cache the
dependencies based on the entrypoint and fragments specified in `polymer.json`.
The minified files are output to the `build/unbundled` folder, and are suitable
for serving from a HTTP/2+Push compatible server.

In addition the command also creates a fallback `build/bundled` folder,
generated using fragment bundling, suitable for serving from non
H2/push-compatible servers or to clients that do not support H2/Push.

polymer build

### Test the build

This command serves the minified version of the app in an unbundled state, as it would
be served by a push-compatible server:

polymer serve build/unbundled

This command serves the minified version of the app generated using fragment bundling:

polymer serve build/bundled

### Extend

We can extend the app by adding more elements that will be demand-loaded
e.g. based on the route, or to progressively render non-critical sections
of the application. Each new demand-loaded fragment should be added to the
list of `fragments` in the included `polymer.json` file. This will ensure
those components and their dependencies are added to the list of pre-cached
components (and will have bundles created in the fallback `bundled` build).
68 changes: 68 additions & 0 deletions bower.json
@@ -0,0 +1,68 @@
{
"name": "ctree-app",
"version": "0.1.0",
"authors": [
"Foundation For an Innovative Future"
],
"private": true,
"dependencies": {
"app-layout": "polymerelements/app-layout#^0.9.0",
"app-localize-behavior": "PolymerElements/app-localize-behavior#^0.9.0",
"app-route": "polymerelements/app-route#^0.9.1",
"gold-email-input": "PolymerElements/gold-email-input#^1.0.0",
"google-chart": "GoogleWebComponents/google-chart#^1.0.0",
"google-signin": "GoogleWebComponents/google-signin#^1.0.0",
"iron-ajax": "PolymerElements/iron-ajax#^1.0.0",
"iron-autogrow-textarea": "PolymerElements/iron-autogrow-textarea#^1.0.0",
"iron-demo-helpers": "PolymerElements/iron-demo-helpers#^1.0.0",
"iron-flex-layout": "polymerelements/iron-flex-layout#^1.0.0",
"iron-form": "PolymerElements/iron-form#^1.0.0",
"iron-form-element-behavior": "PolymerElements/iron-form-element-behavior#^1.0.0",
"iron-icon": "polymerelements/iron-icon#^1.0.0",
"iron-iconset-svg": "polymerelements/iron-iconset-svg#^1.0.0",
"iron-image": "PolymerElements/iron-image#^1.0.0",
"iron-label": "PolymerElements/iron-label#^1.0.0",
"iron-list": "PolymerElements/iron-list#^1.3.1",
"iron-localstorage": "polymerelements/iron-localstorage#^1.0.0",
"iron-media-query": "polymerelements/iron-media-query#^1.0.0",
"iron-pages": "polymerelements/iron-pages#^1.0.0",
"iron-selector": "polymerelements/iron-selector#^1.0.0",
"iron-swipeable-container": "PolymerElements/iron-swipeable-container#^1.0.0",
"iron-test-helpers": "PolymerElements/iron-test-helpers#^1.0.0",
"iron-validatable-behavior": "PolymerElements/iron-validatable-behavior#^1.0.0",
"iron-validator-behavior": "PolymerElements/iron-validator-behavior#^1.0.0",
"neon-animation": "PolymerElements/neon-animation#^1.0.0",
"paper-badge": "PolymerElements/paper-badge#^1.1.1",
"paper-behaviors": "PolymerElements/paper-behaviors#^1.0.0",
"paper-button": "PolymerElements/paper-button#^1.0.0",
"paper-card": "PolymerElements/paper-card#^1.0.0",
"paper-dialog": "PolymerElements/paper-dialog#^1.0.0",
"paper-dialog-behavior": "PolymerElements/paper-dialog-behavior#^1.0.0",
"paper-drawer-panel": "PolymerElements/paper-drawer-panel#^1.0.0",
"paper-dropdown-menu": "PolymerElements/paper-dropdown-menu#^1.0.0",
"paper-fab": "PolymerElements/paper-fab#^1.0.0",
"paper-header-panel": "PolymerElements/paper-header-panel#^1.0.0",
"paper-icon-button": "PolymerElements/paper-icon-button#~1.1.1",
"paper-input": "PolymerElements/paper-input#^1.0.0",
"paper-item": "PolymerElements/paper-item#^1.0.0",
"paper-listbox": "polymerelements/paper-listbox#^1.0.0",
"paper-material": "PolymerElements/paper-material#^1.0.0",
"paper-menu": "PolymerElements/paper-menu#^1.0.0",
"paper-menu-button": "PolymerElements/paper-menu-button#^1.0.0",
"paper-ripple": "PolymerElements/paper-ripple#^1.0.0",
"paper-scroll-header-panel": "PolymerElements/paper-scroll-header-panel#^1.0.0",
"paper-spinner": "PolymerElements/paper-spinner#^1.0.0",
"paper-styles": "PolymerElements/paper-styles#^1.0.0",
"paper-toast": "PolymerElements/paper-toast#^1.0.0",
"paper-toolbar": "PolymerElements/paper-toolbar#^1.0.0",
"paper-tooltip": "PolymerElements/paper-tooltip#^1.0.0",
"platinum-push-messaging": "PolymerElements/platinum-push-messaging#^1.0.0",
"platinum-sw": "PolymerElements/platinum-sw#^1.2.0",
"polymer": "polymer/polymer#^1.4.0",
"paper-tabs": "PolymerElements/paper-tabs#~1.5.0",
"iron-scroll-threshold": "PolymerElements/iron-scroll-threshold#~1.0.1"
},
"devDependencies": {
"web-component-tester": "^4.0.0"
}
}
Binary file added images/app-icon-144.png
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added images/app-icon-32.png
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.

0 comments on commit d9bc031

Please sign in to comment.