├── Procfile ├── _.gitattributes ├── .bowerrc ├── tests ├── matches │ ├── match-profile │ │ └── match-profile-controller.tests.js │ ├── matches-factory.tests.js │ └── matches-controller.tests.js ├── profile │ ├── profile-services.tests.js │ └── profile-controller.tests.js ├── swipe │ └── swipe-services.tests.js ├── protractor.config.js ├── login │ ├── login-controller.tests.js │ └── login-services.tests.js ├── data │ ├── SkippedFactory.tests.js │ ├── RoommateFactory.tests.js │ ├── ProfileFactory.tests.js │ ├── MatchesFactory.tests.js │ └── PlaceFactory.tests.js └── karma.conf.js ├── www ├── img │ ├── face1.png │ ├── face2.png │ ├── ionic.png │ ├── face3.jpeg │ ├── face4.jpeg │ ├── face5.jpeg │ ├── bunk-bed.png │ ├── faceDaniel.png │ └── itschilly.jpg ├── lib │ └── ionic │ │ ├── fonts │ │ ├── ionicons.eot │ │ ├── ionicons.ttf │ │ └── ionicons.woff │ │ └── scss │ │ ├── _progress.scss │ │ ├── _backdrop.scss │ │ ├── ionicons │ │ ├── ionicons.scss │ │ └── _ionicons-font.scss │ │ ├── ionic.scss │ │ ├── _loading.scss │ │ ├── _slide-box.scss │ │ ├── _button-bar.scss │ │ ├── _menu.scss │ │ ├── _animations.scss │ │ ├── _radio.scss │ │ ├── _spinner.scss │ │ ├── _badge.scss │ │ ├── _platform.scss │ │ ├── _popup.scss │ │ ├── _modal.scss │ │ ├── _list.scss │ │ ├── _refresher.scss │ │ ├── _select.scss │ │ ├── _range.scss │ │ ├── _grid.scss │ │ ├── _type.scss │ │ ├── _action-sheet.scss │ │ ├── _popover.scss │ │ ├── _transitions.scss │ │ ├── _checkbox.scss │ │ ├── _toggle.scss │ │ ├── _util.scss │ │ ├── _scaffolding.scss │ │ └── _form.scss ├── profiles │ ├── directives │ │ ├── user-top-box.html │ │ ├── candidate-top-box.html │ │ ├── edit-profile.html │ │ ├── contact-info.html │ │ ├── match-top-box.html │ │ └── like-dislike.html │ ├── profile.directive.js │ ├── profile.js │ └── profile.html ├── swipe │ ├── td-cards-helpers │ │ ├── ionic.tdcards.min.css │ │ └── ionic.tdcards.min.js │ ├── swipe.html │ └── swipe.js ├── matches │ ├── matches.js │ └── matches.html ├── login │ ├── login.html │ ├── login.service.js │ └── login.js ├── chats │ ├── chats.html │ ├── chats.service.js │ └── chats.js ├── account │ ├── people │ │ ├── people.js │ │ └── people.html │ ├── userProfile │ │ ├── icons.txt │ │ ├── userProfile.js │ │ └── userProfile.html │ ├── account.js │ ├── account.html │ └── place │ │ ├── place.js │ │ └── place.html ├── tabs.html ├── map │ ├── map.html │ └── map.js ├── index.html ├── css │ └── style.css └── app.js ├── ionic.project ├── .travis.yml ├── index.js ├── server ├── candidates │ ├── candidateController.js │ ├── candidateModel.js │ └── candidateRoutes.js ├── middleware.js ├── config.js └── users │ ├── mockUserData │ ├── mockApp.js │ ├── README.md │ └── mockUser.schema.json │ ├── userModel.js │ ├── userRoutes.js │ └── userController.js ├── bower.json ├── .jshintrc ├── _.editorconfig ├── scss └── ionic.app.scss ├── .gitignore ├── package.json ├── License.txt ├── README.md ├── gulpfile.js ├── hooks ├── after_prepare │ └── 010_add_platform_class.js └── README.md ├── _PRESS-RELEASE.md └── config.xml /Procfile: -------------------------------------------------------------------------------- 1 | web: node index.js 2 | -------------------------------------------------------------------------------- /_.gitattributes: -------------------------------------------------------------------------------- 1 | * text=auto 2 | -------------------------------------------------------------------------------- /.bowerrc: -------------------------------------------------------------------------------- 1 | { 2 | "directory": "www/lib" 3 | } 4 | -------------------------------------------------------------------------------- /tests/matches/match-profile/match-profile-controller.tests.js: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /www/img/face1.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Puppies-and-Kitties/tfr/HEAD/www/img/face1.png -------------------------------------------------------------------------------- /www/img/face2.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Puppies-and-Kitties/tfr/HEAD/www/img/face2.png -------------------------------------------------------------------------------- /www/img/ionic.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Puppies-and-Kitties/tfr/HEAD/www/img/ionic.png -------------------------------------------------------------------------------- /ionic.project: -------------------------------------------------------------------------------- 1 | { 2 | "name": "tfr", 3 | "app_id": "", 4 | "defaultBrowser": "chrome" 5 | } -------------------------------------------------------------------------------- /www/img/face3.jpeg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Puppies-and-Kitties/tfr/HEAD/www/img/face3.jpeg -------------------------------------------------------------------------------- /www/img/face4.jpeg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Puppies-and-Kitties/tfr/HEAD/www/img/face4.jpeg -------------------------------------------------------------------------------- /www/img/face5.jpeg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Puppies-and-Kitties/tfr/HEAD/www/img/face5.jpeg -------------------------------------------------------------------------------- /www/img/bunk-bed.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Puppies-and-Kitties/tfr/HEAD/www/img/bunk-bed.png -------------------------------------------------------------------------------- /www/img/faceDaniel.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Puppies-and-Kitties/tfr/HEAD/www/img/faceDaniel.png -------------------------------------------------------------------------------- /www/img/itschilly.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Puppies-and-Kitties/tfr/HEAD/www/img/itschilly.jpg -------------------------------------------------------------------------------- /www/lib/ionic/fonts/ionicons.eot: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Puppies-and-Kitties/tfr/HEAD/www/lib/ionic/fonts/ionicons.eot -------------------------------------------------------------------------------- /www/lib/ionic/fonts/ionicons.ttf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Puppies-and-Kitties/tfr/HEAD/www/lib/ionic/fonts/ionicons.ttf -------------------------------------------------------------------------------- /www/lib/ionic/fonts/ionicons.woff: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Puppies-and-Kitties/tfr/HEAD/www/lib/ionic/fonts/ionicons.woff -------------------------------------------------------------------------------- /www/profiles/directives/user-top-box.html: -------------------------------------------------------------------------------- 1 |
Your profile
3 |4 |
Your next roomate
3 |4 |
{{boxprofile.email}}
5 |Phone:
{{boxprofile.phone}}
We\'re a match!
3 |4 | 5 | 6 | 7 |
8 |
{{chat.from}}
7 |"{{chat.message}}"
8 | 9 |
|
|
|
8 |
9 | ### Checkout our demo video: http://tinyurl.com/RooMeDemo
10 |
11 | ## [The Team](http://roome.azurewebsites.net/#team)
12 |
13 | - __Product Owner__: David Blanchard
14 | - __Scrum Master__: Jack Peterson
15 | - __Lead Developer__: Daniel Miller
16 |
17 | ## Table of Contents
18 |
19 | 1. [Usage](#Usage)
20 | 1. [Requirements](#requirements)
21 | 1. [Development](#development)
22 | 1. [Installing Dependencies](#installing-dependencies)
23 | 1. [Team](#team)
24 | 1. [Contributing](#contributing)
25 |
26 | ## Usage
27 |
28 | > In order to run this locally, you will need to have a MongoDB instance running and then you will need to run gulp serve from the root directory. Then simply navigate to localhost:8888 in your browser, and voila!
29 |
30 | ## Requirements
31 |
32 | - Node
33 | - Ionic
34 | - Steroids (for testing on a device)
35 |
36 | ## Development
37 |
38 | ### Installing Dependencies
39 |
40 | From within the root directory:
41 |
42 | ```sh
43 | sudo npm install -g bower
44 | npm install
45 | bower install
46 | ```
47 |
48 | ### Roadmap
49 |
50 | View the project roadmap [here](LINK_TO_PROJECT_ISSUES)
51 |
52 |
53 | ## Contributing
54 |
55 | See [CONTRIBUTING.md](CONTRIBUTING.md) for contribution guidelines.
56 |
57 |
--------------------------------------------------------------------------------
/gulpfile.js:
--------------------------------------------------------------------------------
1 | var gulp = require('gulp');
2 | var gutil = require('gulp-util');
3 | var bower = require('bower');
4 | var concat = require('gulp-concat');
5 | var sass = require('gulp-sass');
6 | var minifyCss = require('gulp-minify-css');
7 | var rename = require('gulp-rename');
8 | var sh = require('shelljs');
9 | var karma = require('karma').server;
10 | var nodemon = require('gulp-nodemon');
11 |
12 | //add condition for Travis
13 | var isTravis = process.env.TRAVIS || false;
14 |
15 | var paths = {
16 | sass: ['./scss/**/*.scss']
17 | };
18 |
19 | gulp.task('test', function(done) {
20 | console.log('isTravis ', isTravis);
21 | karma.start({
22 | configFile: __dirname + '/tests/karma.conf.js',
23 | singleRun: isTravis
24 | }, done)
25 |
26 | });
27 |
28 | gulp.task('default', ['sass']);
29 |
30 | gulp.task('sass', function(done) {
31 | gulp.src('./scss/ionic.app.scss')
32 | .pipe(sass())
33 | .pipe(gulp.dest('./www/css/'))
34 | .pipe(minifyCss({
35 | keepSpecialComments: 0
36 | }))
37 | .pipe(rename({ extname: '.min.css' }))
38 | .pipe(gulp.dest('./www/css/'))
39 | .on('end', done);
40 | });
41 |
42 | gulp.task('watch', function() {
43 | gulp.watch(paths.sass, ['sass']);
44 | });
45 |
46 | gulp.task('install', ['git-check'], function() {
47 | return bower.commands.install()
48 | .on('log', function(data) {
49 | gutil.log('bower', gutil.colors.cyan(data.id), data.message);
50 | });
51 | });
52 |
53 | gulp.task('git-check', function(done) {
54 | if (!sh.which('git')) {
55 | console.log(
56 | ' ' + gutil.colors.red('Git is not installed.'),
57 | '\n Git, the version control system, is required to download Ionic.',
58 | '\n Download git here:', gutil.colors.cyan('http://git-scm.com/downloads') + '.',
59 | '\n Once git is installed, run \'' + gutil.colors.cyan('gulp install') + '\' again.'
60 | );
61 | process.exit(1);
62 | }
63 | done();
64 | });
65 |
66 | gulp.task('serve', function() {
67 | nodemon({script: 'index.js'})
68 | });
69 |
--------------------------------------------------------------------------------
/www/swipe/swipe.js:
--------------------------------------------------------------------------------
1 | angular.module('swipe.controllers', [])
2 |
3 | .controller('SwipeController', [
4 | '$scope',
5 | '$timeout',
6 | 'CandidatesFactory',
7 | 'MatchesFactory',
8 | 'SkippedFactory',
9 | 'User',
10 |
11 | function($scope, $timeout, CandidatesFactory, MatchesFactory, SkippedFactory, User) {
12 |
13 | $scope.candidates = CandidatesFactory.all();
14 | console.log('swipectrl: candidates ', $scope.candidates);
15 | $scope.user = User;
16 |
17 | $scope.currentCandidate = angular.copy($scope.candidates[0]);
18 | console.log('currentCandidate in swipe controller ', $scope.currentCandidate);
19 |
20 | $scope.$watch(
21 | function () {
22 | return CandidatesFactory.getFirst();
23 | },
24 | function (firstCandidate) {
25 | $scope.currentCandidate = firstCandidate;
26 | }
27 | );
28 |
29 | $scope.candidateSwipe = function (match, User){
30 | console.log("Ctrl: candidateSwipe ", $scope.currentCandidate)
31 | if (match) {
32 | MatchesFactory.add($scope.currentCandidate, $scope.user, function(userMatch){
33 | console.log('MatchCtrl: Res from Matcfact.Add: userMatch ', userMatch);
34 | $scope.user = User = userMatch[0];
35 | var candidate = userMatch[1];
36 |
37 | MatchesFactory.saveAllMatches(User)
38 | .then(function(res){
39 | console.log('SwipeCtrl: res: current user res from saveAllMatches', res);
40 | $scope.user = User = res;
41 | });
42 | MatchesFactory.updateMatchedUsers(candidate)
43 | .then(function(res) {
44 | console.log('SwipeCtrl: res: last candidate from updateMatchedUsers ', res);
45 | })
46 | });
47 | }
48 | else {
49 | SkippedFactory.add($scope.currentCandidate);
50 | }
51 |
52 | $scope.currentCandidate.hide = true;
53 | CandidatesFactory.removeFirst();
54 | $scope.candidates = CandidatesFactory.all();
55 | $scope.currentCandidate = angular.copy($scope.candidates[0]);
56 | console.log("new candidate ", $scope.currentCandidate)
57 | };
58 |
59 | }]);
60 |
--------------------------------------------------------------------------------
/www/account/userProfile/userProfile.html:
--------------------------------------------------------------------------------
1 | Start typing words that represent you to select icons
32 | 35 | 36 |