diff --git a/project_explorer/images/android-desktop.png b/project_explorer/images/android-desktop.png
new file mode 100644
index 0000000..f30600e
Binary files /dev/null and b/project_explorer/images/android-desktop.png differ
diff --git a/project_explorer/images/dog.png b/project_explorer/images/dog.png
new file mode 100644
index 0000000..1d08cca
Binary files /dev/null and b/project_explorer/images/dog.png differ
diff --git a/project_explorer/images/favicon.png b/project_explorer/images/favicon.png
new file mode 100644
index 0000000..11ec0b5
Binary files /dev/null and b/project_explorer/images/favicon.png differ
diff --git a/project_explorer/images/ios-desktop.png b/project_explorer/images/ios-desktop.png
new file mode 100644
index 0000000..ac65454
Binary files /dev/null and b/project_explorer/images/ios-desktop.png differ
diff --git a/project_explorer/images/user.jpg b/project_explorer/images/user.jpg
new file mode 100644
index 0000000..930ab14
Binary files /dev/null and b/project_explorer/images/user.jpg differ
diff --git a/project_explorer/index.html b/project_explorer/index.html
new file mode 100644
index 0000000..7ae9589
--- /dev/null
+++ b/project_explorer/index.html
@@ -0,0 +1,100 @@
+
+
+
+
+
+
+
+
+
+
Material Design Lite
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/project_explorer/script.js b/project_explorer/script.js
new file mode 100644
index 0000000..f3e20ed
--- /dev/null
+++ b/project_explorer/script.js
@@ -0,0 +1,65 @@
+function onLoad() {
+ startFirebase("active")
+ displayProjects("all")
+}
+
+function displayProjects(status) {
+ document.getElementById("projects").innerHTML = ""
+ database = firebase.database().ref("projects");
+ database.once('value', function (snapshot) {
+ snapshot.forEach(function (child) {
+ firebase.database().ref("projects/" + child["key"]).on('value', function (data) {
+ var data1 = data.val();
+ var a = document.createElement("div")
+ if (data1["link"] == "") {
+ a.innerHTML = '
' + data1["title"].replace(/,/g, ".") + '
' + data1["status"] + '
' + data1["description"] + '
'
+ //a.innerHTML = "
" + data1["title"].replace(/,/g, ".") + " " + data1["status"] + " |
| " + data1["description"] + " |
|
"
+ } else {
+ a.innerHTML = '
' + data1["title"].replace(/,/g, ".") + '
' + data1["status"] + '
' + data1["description"] + '
'
+ // a.innerHTML = "
|
| " + data1["description"] + " |
|
"
+ }
+
+ if (status === "all") {
+ document.getElementById("projects").appendChild(a)
+ } else if (data1["status"] === status) {
+ document.getElementById("projects").appendChild(a)
+ }
+ })
+ })
+ });
+}
+
+// Starts Firebase
+function startFirebase() {
+ // Initialize Firebase
+ var config = {
+ apiKey: "AIzaSyBG5-wv3bpeiUjR6BH5GXamqPlH1arXt8Y",
+ authDomain: "homepage-projects-3d870.firebaseapp.com",
+ databaseURL: "https://homepage-projects-3d870.firebaseio.com",
+ projectId: "homepage-projects-3d870",
+ storageBucket: "homepage-projects-3d870.appspot.com",
+ messagingSenderId: "487531629040"
+ };
+ firebase.initializeApp(config);
+}
+
+// Firebase Interaction Scripts
+function readData(ref, callback) {
+ var nextformation = firebase.database().ref(ref);
+ nextformation.on("value", function (data) {
+ var array = data.val();
+ callback(array)
+ });
+}
+// global read data and place on page function
+function setData(ref, element, read1) {
+ var array = readData(ref, function (array) {
+ document.getElementById(element).innerHTML = array[read1]
+ });
+}
+
+// Firebase Interaction Scripts
+function sendData(ref, data) {
+ var database = firebase.database();
+ firebase.database().ref(ref).set(data);
+}
\ No newline at end of file
diff --git a/project_explorer/style.css b/project_explorer/style.css
new file mode 100644
index 0000000..2b21250
--- /dev/null
+++ b/project_explorer/style.css
@@ -0,0 +1,10 @@
+.project-card {
+ width: 98.5%;
+ margin: 10px;
+}
+
+.active {color: green;}
+.inactive {color: orange;}
+.canceled {color: red;}
+.depracated {color: yellow;}
+.hidden {display: none;}
\ No newline at end of file
diff --git a/project_explorer/styles.css b/project_explorer/styles.css
new file mode 100644
index 0000000..7e0dc36
--- /dev/null
+++ b/project_explorer/styles.css
@@ -0,0 +1,215 @@
+/**
+ * Copyright 2015 Google Inc. All Rights Reserved.
+ *
+ * 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.
+ */
+
+html, body {
+ font-family: 'Roboto', 'Helvetica', sans-serif;
+}
+.demo-avatar {
+ width: 48px;
+ height: 48px;
+ border-radius: 24px;
+}
+.demo-layout .mdl-layout__header .mdl-layout__drawer-button {
+ color: rgba(0, 0, 0, 0.54);
+}
+.mdl-layout__drawer .avatar {
+ margin-bottom: 16px;
+}
+.demo-drawer {
+ border: none;
+}
+/* iOS Safari specific workaround */
+.demo-drawer .mdl-menu__container {
+ z-index: -1;
+}
+.demo-drawer .demo-navigation {
+ z-index: -2;
+}
+/* END iOS Safari specific workaround */
+.demo-drawer .mdl-menu .mdl-menu__item {
+ display: -webkit-flex;
+ display: -ms-flexbox;
+ display: flex;
+ -webkit-align-items: center;
+ -ms-flex-align: center;
+ align-items: center;
+}
+.demo-drawer-header {
+ box-sizing: border-box;
+ display: -webkit-flex;
+ display: -ms-flexbox;
+ display: flex;
+ -webkit-flex-direction: column;
+ -ms-flex-direction: column;
+ flex-direction: column;
+ -webkit-justify-content: flex-end;
+ -ms-flex-pack: end;
+ justify-content: flex-end;
+ padding: 16px;
+ height: 151px;
+}
+.demo-avatar-dropdown {
+ display: -webkit-flex;
+ display: -ms-flexbox;
+ display: flex;
+ position: relative;
+ -webkit-flex-direction: row;
+ -ms-flex-direction: row;
+ flex-direction: row;
+ -webkit-align-items: center;
+ -ms-flex-align: center;
+ align-items: center;
+ width: 100%;
+}
+
+.demo-navigation {
+ -webkit-flex-grow: 1;
+ -ms-flex-positive: 1;
+ flex-grow: 1;
+}
+.demo-layout .demo-navigation .mdl-navigation__link {
+ display: -webkit-flex !important;
+ display: -ms-flexbox !important;
+ display: flex !important;
+ -webkit-flex-direction: row;
+ -ms-flex-direction: row;
+ flex-direction: row;
+ -webkit-align-items: center;
+ -ms-flex-align: center;
+ align-items: center;
+ color: rgba(255, 255, 255, 0.56);
+ font-weight: 500;
+}
+.demo-layout .demo-navigation .mdl-navigation__link:hover {
+ background-color: #00BCD4;
+ color: #37474F;
+}
+.demo-navigation .mdl-navigation__link .material-icons {
+ font-size: 24px;
+ color: rgba(255, 255, 255, 0.56);
+ margin-right: 32px;
+}
+
+.demo-content {
+ max-width: 1080px;
+}
+
+.demo-charts {
+ -webkit-align-items: center;
+ -ms-flex-align: center;
+ align-items: center;
+}
+.demo-chart:nth-child(1) {
+ color: #ACEC00;
+}
+.demo-chart:nth-child(2) {
+ color: #00BBD6;
+}
+.demo-chart:nth-child(3) {
+ color: #BA65C9;
+}
+.demo-chart:nth-child(4) {
+ color: #EF3C79;
+}
+.demo-graphs {
+ padding: 16px 32px;
+ display: -webkit-flex;
+ display: -ms-flexbox;
+ display: flex;
+ -webkit-flex-direction: column;
+ -ms-flex-direction: column;
+ flex-direction: column;
+ -webkit-align-items: stretch;
+ -ms-flex-align: stretch;
+ align-items: stretch;
+}
+/* TODO: Find a proper solution to have the graphs
+ * not float around outside their container in IE10/11.
+ * Using a browserhacks.com solution for now.
+ */
+_:-ms-input-placeholder, :root .demo-graphs {
+ min-height: 664px;
+}
+_:-ms-input-placeholder, :root .demo-graph {
+ max-height: 300px;
+}
+/* TODO end */
+.demo-graph:nth-child(1) {
+ color: #00b9d8;
+}
+.demo-graph:nth-child(2) {
+ color: #d9006e;
+}
+
+.demo-cards {
+ -webkit-align-items: flex-start;
+ -ms-flex-align: start;
+ align-items: flex-start;
+ -webkit-align-content: flex-start;
+ -ms-flex-line-pack: start;
+ align-content: flex-start;
+}
+.demo-cards .demo-separator {
+ height: 32px;
+}
+.demo-cards .mdl-card__title.mdl-card__title {
+ color: white;
+ font-size: 24px;
+ font-weight: 400;
+}
+.demo-cards ul {
+ padding: 0;
+}
+.demo-cards h3 {
+ font-size: 1em;
+}
+.demo-updates .mdl-card__title {
+ min-height: 200px;
+ background-image: url('images/dog.png');
+ background-position: 90% 100%;
+ background-repeat: no-repeat;
+}
+.demo-cards .mdl-card__actions a {
+ color: #00BCD4;
+ text-decoration: none;
+}
+
+.demo-options h3 {
+ margin: 0;
+}
+.demo-options .mdl-checkbox__box-outline {
+ border-color: rgba(255, 255, 255, 0.89);
+}
+.demo-options ul {
+ margin: 0;
+ list-style-type: none;
+}
+.demo-options li {
+ margin: 4px 0;
+}
+.demo-options .material-icons {
+ color: rgba(255, 255, 255, 0.89);
+}
+.demo-options .mdl-card__actions {
+ height: 64px;
+ display: -webkit-flex;
+ display: -ms-flexbox;
+ display: flex;
+ box-sizing: border-box;
+ -webkit-align-items: center;
+ -ms-flex-align: center;
+ align-items: center;
+}