Roomie is a simple, Tinder-inspiredg app to find roommates that you'll get along with. You only get the ability to chat with someone else if there is mutual interest.
Some technologies we used:
- Angular for data binding and performant UI
- AngularUI Router for routing
- AngularFire for setting up realtime chat using Firebase
- Angular Material Angular components implementing Google's Material Design
- mySQL database with BookShelf ORM
- bcrypt and jwt-simple for user authentication
- Node/Express server
- Firebase authentication for Github/Facebook/Twitter/Google login
- Grunt for concating and minifying deployment code
- NGINX for high performance proxy routing
Check out Roomie.
Clone the repo and install the necessary node modules:
$ git clone https://github.com/InstaRoomie/Roomie.git
$ cd roomie
$ npm install # Install Node modules listed in ./package.json
$ bower install # Install Bower Components listed in ./bower.json
$ grunt build # Minifies code for app use
Runs the server (by default found at localhost:8070
).
Note comment out httpserver if you don't have ssl certificates
.
├── dist # Concatenated code
├── public # Client-facing source code
| ├── app # Application source code
│ | ├── auth # Components that dictate authentication structure
│ | ├── chat # Components that dictate chat structure
│ | ├── contact # Components that dictate user contacts structure
│ | ├── home # Component that dictates the home page
│ | ├── main # Components that dictates the main application structure
│ | ├── profile # Components that dictate user profile structure
│ | ├── services # Factories that communicate server-side
│ | └── app.js # Application bootstrap and rendering
│ ├── assets # Images for application
│ ├── dist # Minified code for deployment
│ ├── index.html # Parent view
| └── style.css # Styling
├── server # Server-side source code
| ├── collections # BookShelf.js collection of users/friends/enemies/potentials
| ├── controllers # Server controllers that interact with client side actions
| ├── db # Database schema built with BookShelf.js
| ├── models # BookShelf.js models of users/friends/enemies/potentials
| ├── routes # Routing for server side interaction
| ├── util # General helper functions
| └── server.js # Sever bootstrap
└── index.js # Starts the Express server
Having an issue? Please let us know! Report it and we'll get to it as soon as possible.
If you would like to submit a pull request, please make an effort to follow the guide in CONTRIBUTING.md.
Thanks for checking our app out!