diff --git a/.bowerrc b/.bowerrc new file mode 100644 index 0000000..5773025 --- /dev/null +++ b/.bowerrc @@ -0,0 +1,3 @@ +{ + "directory": "app/bower_components" +} diff --git a/.firebaserc b/.firebaserc new file mode 100644 index 0000000..99b9faf --- /dev/null +++ b/.firebaserc @@ -0,0 +1,5 @@ +{ + "projects": { + "default": "crowdevelop-40f3c" + } +} diff --git a/.gitignore b/.gitignore new file mode 100644 index 0000000..efa16b9 --- /dev/null +++ b/.gitignore @@ -0,0 +1,107 @@ + +# Created by https://www.gitignore.io/api/linu,linux,node,bower + +### Node ### +# Logs +logs +*.log +npm-debug.log* + +# Runtime data +pids +*.pid +*.seed +*.pid.lock + +# Directory for instrumented libs generated by jscoverage/JSCover +lib-cov + +# Coverage directory used by tools like istanbul +coverage + +# nyc test coverage +.nyc_output + +# Grunt intermediate storage (http://gruntjs.com/creating-plugins#storing-task-files) +.grunt + +# node-waf configuration +.lock-wscript + +# Compiled binary addons (http://nodejs.org/api/addons.html) +build/Release + +# Dependency directories +node_modules +jspm_packages + +# Optional npm cache directory +.npm + +# Optional REPL history +.node_repl_history + +# Yarn Integrity file +.yarn-integrity + +### Bower ### +bower_components +.bower-cache +.bower-registry +.bower-tmp + + +### WebStorm ### +# Covers JetBrains IDEs: IntelliJ, RubyMine, PhpStorm, AppCode, PyCharm, CLion, Android Studio and Webstorm +# Reference: https://intellij-support.jetbrains.com/hc/en-us/articles/206544839 + +# User-specific stuff: +.idea/workspace.xml +.idea/tasks.xml +.idea/dictionaries +.idea/vcs.xml +.idea/jsLibraryMappings.xml + +# Sensitive or high-churn files: +.idea/dataSources.ids +.idea/dataSources.xml +.idea/dataSources.local.xml +.idea/sqlDataSources.xml +.idea/dynamic.xml +.idea/uiDesigner.xml + +# Gradle: +.idea/gradle.xml +.idea/libraries + +# Mongo Explorer plugin: +.idea/mongoSettings.xml + +## File-based project format: +*.iws + +## Plugin-specific files: + +# IntelliJ +/out/ + +# mpeltonen/sbt-idea plugin +.idea_modules/ + +# JIRA plugin +atlassian-ide-plugin.xml + +# Crashlytics plugin (for Android Studio and IntelliJ) +com_crashlytics_export_strings.xml +crashlytics.properties +crashlytics-build.properties +fabric.properties + +### WebStorm Patch ### +# Comment Reason: https://github.com/joeblau/gitignore.io/issues/186#issuecomment-215987721 + +# *.iml +# modules.xml +# .idea/misc.xml +# *.ipr +.idea diff --git a/.travis.yml b/.travis.yml new file mode 100644 index 0000000..9854d24 --- /dev/null +++ b/.travis.yml @@ -0,0 +1,12 @@ +language: node_js +node_js: + - '6' +before_script: + - 'npm install -g bower' + - 'bower install' +script: + - echo 'Deploying!' +install: + - npm install -g firebase-tools +after_success: + - firebase deploy --token $FIREBASE_TOKEN diff --git a/README.md b/README.md index 8acc754..4154a20 100644 --- a/README.md +++ b/README.md @@ -1 +1,46 @@ -tfgCrowDevelop +# CrowDevelop - Software engineer ULPGC final college project + +### Status +[![Build Status](https://travis-ci.com/hmaciasc/CrowDevelop.svg?token=3qqEyH2Ym2Cs3Z3KNiwA&branch=develop)](https://travis-ci.com/hmaciasc/CrowDevelop) + + +# CrowDevelop + +(https://crowdevelop-40f3c.firebaseapp.com) + +CrowDevelop is a crowdfunding platform focused on software development projects. + + - Passwordless authentication + - Progressive web app with offline cache and install banner + - Push notifications + - Image upload. + - Mock payments (pending) + +### Tech + +CrowDevelop uses a number of open source projects to work properly: + +* [Firebase] - Backend as a service +* [AngularJS] - HTML enhanced for web apps! +* [Bootstrap 4] - great UI boilerplate for modern web apps +* [Gulp] - the streaming build system +* [AngularFire] - angular and firebase official integration lib +* [jQuery] + + +### Installation + +CrowDevelop requires [Node.js](https://nodejs.org/) to run. + +Install the dependencies and devDependencies and start the server. + +```sh +$ cd CrowDevelop +$ npm i -g gulp +$ npm i && bower install +$ gulp +``` + +Navigate to localhost:5000 + +### Current master version 1.0 diff --git a/app/firebase-messaging-sw.js b/app/firebase-messaging-sw.js new file mode 100644 index 0000000..684c979 --- /dev/null +++ b/app/firebase-messaging-sw.js @@ -0,0 +1,23 @@ +importScripts('https://www.gstatic.com/firebasejs/3.6.1/firebase-app.js'); +importScripts('https://www.gstatic.com/firebasejs/3.6.1/firebase-messaging.js'); + + +var config = { + apiKey: "AIzaSyDP4kTth7VjRSaNosacjj3PKGKM76OJKD0", + authDomain: "crowdevelop-40f3c.firebaseapp.com", + databaseURL: "https://crowdevelop-40f3c.firebaseio.com", + storageBucket: "crowdevelop-40f3c.appspot.com", + messagingSenderId: "598401583655" +}; + +firebase.initializeApp(config); + +var messaging = firebase.messaging(); +messaging.setBackgroundMessageHandler(function(payload) { + console.log(payload); + var title = "CrowDevelop notice"; + var options = { + body: payload.data.status + } + return self.registration.showNotification(title, options); +}); diff --git a/app/images/icon-notification-192x192.png b/app/images/icon-notification-192x192.png new file mode 100644 index 0000000..8e47f52 Binary files /dev/null and b/app/images/icon-notification-192x192.png differ diff --git a/app/images/icons/check-green.svg b/app/images/icons/check-green.svg new file mode 100644 index 0000000..89a6415 --- /dev/null +++ b/app/images/icons/check-green.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/app/images/icons/check.svg b/app/images/icons/check.svg new file mode 100644 index 0000000..9632559 --- /dev/null +++ b/app/images/icons/check.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/app/images/icons/credit-card.svg b/app/images/icons/credit-card.svg new file mode 100644 index 0000000..e68efc6 --- /dev/null +++ b/app/images/icons/credit-card.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/app/images/icons/down_circle.svg b/app/images/icons/down_circle.svg new file mode 100644 index 0000000..cf23ffc --- /dev/null +++ b/app/images/icons/down_circle.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/app/images/icons/facebook.svg b/app/images/icons/facebook.svg new file mode 100644 index 0000000..6aa72f8 --- /dev/null +++ b/app/images/icons/facebook.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/app/images/icons/google_plus.svg b/app/images/icons/google_plus.svg new file mode 100644 index 0000000..e40b668 --- /dev/null +++ b/app/images/icons/google_plus.svg @@ -0,0 +1,10 @@ + \ No newline at end of file diff --git a/app/images/icons/heart-o.svg b/app/images/icons/heart-o.svg new file mode 100644 index 0000000..c3b76ac --- /dev/null +++ b/app/images/icons/heart-o.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/app/images/icons/heart.svg b/app/images/icons/heart.svg new file mode 100644 index 0000000..5f7c527 --- /dev/null +++ b/app/images/icons/heart.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/app/images/icons/icon-128x128.png b/app/images/icons/icon-128x128.png new file mode 100644 index 0000000..1901c17 Binary files /dev/null and b/app/images/icons/icon-128x128.png differ diff --git a/app/images/icons/icon-144x144.png b/app/images/icons/icon-144x144.png new file mode 100644 index 0000000..b6cd4f9 Binary files /dev/null and b/app/images/icons/icon-144x144.png differ diff --git a/app/images/icons/icon-152x152.png b/app/images/icons/icon-152x152.png new file mode 100644 index 0000000..f04bb92 Binary files /dev/null and b/app/images/icons/icon-152x152.png differ diff --git a/app/images/icons/icon-192x192.png b/app/images/icons/icon-192x192.png new file mode 100644 index 0000000..39a0a30 Binary files /dev/null and b/app/images/icons/icon-192x192.png differ diff --git a/app/images/icons/icon-384x384.png b/app/images/icons/icon-384x384.png new file mode 100644 index 0000000..7688bc6 Binary files /dev/null and b/app/images/icons/icon-384x384.png differ diff --git a/app/images/icons/icon-72x72.png b/app/images/icons/icon-72x72.png new file mode 100644 index 0000000..fae887d Binary files /dev/null and b/app/images/icons/icon-72x72.png differ diff --git a/app/images/icons/icon-96x96.png b/app/images/icons/icon-96x96.png new file mode 100644 index 0000000..32077b1 Binary files /dev/null and b/app/images/icons/icon-96x96.png differ diff --git a/app/images/icons/search-icon.png b/app/images/icons/search-icon.png new file mode 100644 index 0000000..0c8568a Binary files /dev/null and b/app/images/icons/search-icon.png differ diff --git a/app/images/icons/search.svg b/app/images/icons/search.svg new file mode 100644 index 0000000..92ce82b --- /dev/null +++ b/app/images/icons/search.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/app/images/icons/twitter.svg b/app/images/icons/twitter.svg new file mode 100644 index 0000000..18e1f0e --- /dev/null +++ b/app/images/icons/twitter.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/app/images/icons/up_circle.svg b/app/images/icons/up_circle.svg new file mode 100644 index 0000000..cffe195 --- /dev/null +++ b/app/images/icons/up_circle.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/app/images/title1.jpg b/app/images/title1.jpg new file mode 100644 index 0000000..fa33e3e Binary files /dev/null and b/app/images/title1.jpg differ diff --git a/app/index.html b/app/index.html new file mode 100644 index 0000000..a3b434b --- /dev/null +++ b/app/index.html @@ -0,0 +1,86 @@ + + + + +
+ + + + +Administrate your project:
+Project status: {{ project.status | camelToHuman }}
+ +{{$index + 1 + 'º ' + feature.description}}
+{{feature.points}}
+Try looking for a project among our categories.
++ By accessing this web site, you are agreeing to be bound by these web site Terms and Conditions of Use, all applicable laws and regulations, and agree that you are responsible for compliance with any applicable local laws. If you do not agree with any + of these terms, you are prohibited from using or accessing this site. The materials contained in this web site are protected by applicable copyright and trade mark law. +
+ ++ In no event shall CrowDevelop or its suppliers be liable for any damages (including, without limitation, damages for loss of data or profit, or due to business interruption,) arising out of the use or inability to use the materials on CrowDevelop's Internet + site, even if CrowDevelop or a CrowDevelop authorized representative has been notified orally or in writing of the possibility of such damage. Because some jurisdictions do not allow limitations on implied warranties, or limitations of + liability for consequential or incidental damages, these limitations may not apply to you. +
+ ++ The materials appearing on CrowDevelop's web site could include technical, typographical, or photographic errors. CrowDevelop does not warrant that any of the materials on its web site are accurate, complete, or current. CrowDevelop may make changes to + the materials contained on its web site at any time without notice. CrowDevelop does not, however, make any commitment to update the materials. +
+ ++ CrowDevelop has not reviewed all of the sites linked to its Internet web site and is not responsible for the contents of any such linked site. The inclusion of any link does not imply endorsement by CrowDevelop of the site. Use of any such linked web + site is at the user's own risk. +
+ ++ CrowDevelop may revise these terms of use for its web site at any time without notice. By using this web site you are agreeing to be bound by the then current version of these Terms and Conditions of Use. +
+ ++ Any claim relating to CrowDevelop's web site shall be governed by the laws of the State of Spain without regard to its conflict of law provisions. +
+ ++ General Terms and Conditions applicable to Use of a Web Site. +
+ + + ++ Your privacy is very important to us. Accordingly, we have developed this Policy in order for you to understand how we collect, use, communicate and disclose and make use of personal information. The following outlines our privacy policy. +
+ ++ We are committed to conducting our business in accordance with these principles in order to ensure that the confidentiality of personal information is protected and maintained. +
+ Back to home +
{{comment.text}}
+ +