An app to allow students to rate and provide feedback on a guest speaker.
- Part 1
- App overview
- Setup (Generator, Github, Travis CI, Heroku)
- Add Unit Tests
- Part 2
- User Stories
- Code Coverage - istanbul, coveralls
- Part 3
- Data Modeling
- user schema
- Sequelize / Migrations
- migrate up / migrate down
- Part 4
- Data Modeling
- speaker schema
- Database
- local
- travis
- heroku
- Part 5
- Authentication
- passport-github?
- roll our own?
- Testing
- Mocks
- A user can-
- view past speakers
- view upcoming speakers
- add feedback on on past speakers
- vote on potential upcoming topics
- login/logout via Github
- suggest speakers
- suggest topics
- A admin can-
- approve/reject users wanting to login
- CRUD students
- CRUD speakers
- CRUD topics
- login/logout via Github
- toggle suggestion features
- Issue Tracker: Github Issues
- Build System: Gulp
- Testing: Mocha, Chai, Travis CI, Istanbul (coverage)
- Language Runtime: ES5
- Package Mgmt: npm
- Server: Node, Express
- Database: Postgres
- Front End: jQuery
- CSS Framework: Skeleton
- Templates: Swig
Without code coverage:
$ npm test
With code coverage:
$ npm run cov
- Create database on Heroku:
heroku addons:create heroku-postgresql:hobby-dev
- Update
production
config in /src/server/config.json - Commit, PUSH, etc.
- Run Migrations on Heroku:
$ heroku run bash
$ node_modules/.bin/sequelize db:migrate