Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
- Loading branch information
0 parents
commit d9bc031
Showing
82 changed files
with
7,434 additions
and
0 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,4 @@ | ||
bower_components | ||
dist | ||
node_modules | ||
build |
Large diffs are not rendered by default.
Oops, something went wrong.
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -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. |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -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). |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -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" | ||
} | ||
} |
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Oops, something went wrong.