项目作者: ARWL2016
项目描述 :
MEAN stack voting app
高级语言: TypeScript
项目地址: git://github.com/ARWL2016/voting-app.git
Voting App
VOTOGO is a voting app which allows users to create, share and view the results of surveys, and vote on other people’s topics.
Useful Links
Tech
- Angular 4.0
- Typescript 2.2
- Bootstrap 3.3.7
- Node 8.9.1
- Express 4.15.3
- MongoDB 2.2.27
- Mongoose 4.13.8
- Authentication: bcryptjs, jsonwebtoken
- Chart: chart.js and ng-charts
- Deployment: Heroku and Mlab (MongoDB cloud host)
- Tested on Chrome 63, Edge, IE11, Opera
Features
- Single Page Application
- user authentication
- responsive design
- toastr notifications
- angular animations
- data display with doughnut chart
Handlebars security issue
Run in dev mode
npm run build:watch
- compile Angular app with webpack npm run server
- run node backend- OR
npm run dev
- runs previous two commands in parallel processes - nb: no local database needed; dev environment connects to mlab
Deployment
- run a production build
- push to github and heroku
To do
- Figure out why CSP headers are failing in prod
Enhancements
- add a loader
- add active class to nav links
- Make sure the error messaging is appropriate for all of the forms
- add better validation to the username field
- debounce the search box
- add tests
- add logger
Possible Features
- add a recent button and a most popular button to the home page (this will mean changing the data structure
- add paging
- username availability check