Lunchtime Voter is a primarily two things: 1. An example project for Angular 2 and Firebase, and 2. a tool for teams to decide where to go for lunch.
- Typescript as web client language
- Angular 2 as framework
- Firebase as database
- Materialize.css as CSS framework. (This may get swapped out in the future when the angular team gets angular-material ready for Angular 2)
- Ionic 2 Hybrid Apps
- Swift 2.0 iOS apps
- Android Studio based Android Apps (Java 7, newest OS, etc)
The app idea itself is basically a tool for people to figure out where to go to lunch together.
Pretty much everywhere I've ever worked, this primarily involved emailing or messaging 20 people about a hundred times:
"Do you want to go here?" "Not Really, how bout here." "Not Really. Anywhere but there" and so on. Most of you
will know what I'm talking about :) So this is just a quick way to get together and make a decision.
Everyone gets to submit one idea for lunch. Everyone else votes on an idea. The idea with the highest common point total wins, and the group goes there for lunch.
See a live example: lunchtimevoter.com
Everyone is welcome to commit towards this primary goal. Design changes will be voted on by active commiters.
Done through github issues
If there is interest, I'll start a slack team.
Github pull requests.
npm install
npm start
go to [http://localhost:3000](http://localhost:3000) in your browser
# Getting Started
## Dependencies
What you need to run this app:
* `node` and `npm` (`brew install node`)
* Ensure you're running the latest versions Node `v4.1.1`+ and NPM `2.10.0`+
Once you have those, you should install these globals with `npm install --global`:
* `webpack` (`npm install --global webpack`)
* `webpack-dev-server` (`npm install --global webpack-dev-server`)
* `karma` (`npm install --global karma-cli`)
* `protractor` (`npm install --global protractor`)
## Installing
* `fork` this repo
* `clone` your fork
* `npm install` to install all dependencies
* `npm run server` to start the dev server in another tab
## Running the app
After you have installed all dependencies you can now run the app. Run `npm run server` to start a local server using `webpack-dev-server` which will watch, build (in-memory), and reload for you. The port will be displayed to you as `http://localhost:3000` (or if you prefer IPv6, if you're using `express` server, then it's `http://[::1]:3000/`).
### server
```bash
npm run server # or either webpack-dev-server or npm run express
npm run build # or webpack
npm run watch # or webpack --watch
npm run test # or karma start
npm run webdriver-start # or webdriver-manager start
# make sure you have webdriver running and a sever for the client app
npm run e2e # or protractor
To take full advantage of TypeScript with autocomplete you would have to install it globally and use an editor with the correct TypeScript plugins.
Make sure to upgrade, even if you installed TypeScript previously.
npm install --global typescript
The TSD typings in tsd_typings/
are autogenerated.
npm install --global tsd
#Steps to Deploy your own
- Get yourself setup with a firebase account
- Enter your own firebase address into firebaseUrl in /src/app/services/firebaseService.ts
- npm run build
- firebase deploy