https://github.com/arwl2016/voting-app
MEAN stack voting app
https://github.com/arwl2016/voting-app
angular bootstrap express mean-stack mongo typescript
Last synced: 2 months ago
JSON representation
MEAN stack voting app
- Host: GitHub
- URL: https://github.com/arwl2016/voting-app
- Owner: ARWL2016
- Created: 2017-05-25T03:47:22.000Z (about 9 years ago)
- Default Branch: master
- Last Pushed: 2018-10-10T17:51:16.000Z (over 7 years ago)
- Last Synced: 2025-03-24T07:57:06.112Z (about 1 year ago)
- Topics: angular, bootstrap, express, mean-stack, mongo, typescript
- Language: TypeScript
- Homepage: https://votogo.herokuapp.com/home
- Size: 6.94 MB
- Stars: 0
- Watchers: 0
- Forks: 0
- Open Issues: 2
-
Metadata Files:
- Readme: README.md
Awesome Lists containing this project
README
### 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
- Github: https://github.com/ARWL2016/voting-app
- Website: https://votogo.herokuapp.com/home
#### 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
- delete node modules
- npm i @angular/cli@1.5.3
- delete package-lock.json
- npm i
#### 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