{"id":22125140,"url":"https://github.com/arwl2016/voting-app","last_synced_at":"2026-04-14T10:33:08.765Z","repository":{"id":84340905,"uuid":"92362334","full_name":"ARWL2016/voting-app","owner":"ARWL2016","description":"MEAN stack voting app","archived":false,"fork":false,"pushed_at":"2018-10-10T17:51:16.000Z","size":7273,"stargazers_count":0,"open_issues_count":2,"forks_count":0,"subscribers_count":0,"default_branch":"master","last_synced_at":"2025-03-24T07:57:06.112Z","etag":null,"topics":["angular","bootstrap","express","mean-stack","mongo","typescript"],"latest_commit_sha":null,"homepage":"https://votogo.herokuapp.com/home","language":"TypeScript","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/ARWL2016.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":null,"code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2017-05-25T03:47:22.000Z","updated_at":"2018-10-10T17:51:17.000Z","dependencies_parsed_at":"2023-07-06T22:15:49.284Z","dependency_job_id":null,"html_url":"https://github.com/ARWL2016/voting-app","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/ARWL2016/voting-app","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ARWL2016%2Fvoting-app","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ARWL2016%2Fvoting-app/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ARWL2016%2Fvoting-app/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ARWL2016%2Fvoting-app/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/ARWL2016","download_url":"https://codeload.github.com/ARWL2016/voting-app/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ARWL2016%2Fvoting-app/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":31793215,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-04-14T02:24:21.117Z","status":"ssl_error","status_checked_at":"2026-04-14T02:24:20.627Z","response_time":153,"last_error":"SSL_read: unexpected eof while reading","robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":false,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["angular","bootstrap","express","mean-stack","mongo","typescript"],"created_at":"2024-12-01T16:17:30.184Z","updated_at":"2026-04-14T10:33:08.760Z","avatar_url":"https://github.com/ARWL2016.png","language":"TypeScript","funding_links":[],"categories":[],"sub_categories":[],"readme":"### Voting App \n\nVOTOGO is a voting app which allows users to create, share and view the results of surveys, and vote on other people's topics.\n\n####Useful Links\n- Github: https://github.com/ARWL2016/voting-app \n- Website: https://votogo.herokuapp.com/home\n\n#### Tech \n- Angular 4.0 \n- Typescript 2.2  \n- Bootstrap 3.3.7 \n- Node 8.9.1\n- Express 4.15.3\n- MongoDB 2.2.27\n- Mongoose 4.13.8\n- Authentication: bcryptjs, jsonwebtoken\n- Chart: chart.js and ng-charts\n- Deployment: Heroku and Mlab (MongoDB cloud host)\n- Tested on Chrome 63, Edge, IE11, Opera\n\n#### Features \n- Single Page Application\n- user authentication \n- responsive design \n- toastr notifications \n- angular animations\n- data display with doughnut chart \n\n#### Handlebars security issue \n- delete node modules\n- npm i @angular/cli@1.5.3 \n- delete package-lock.json \n- npm i\n\n#### Run in dev mode\n- `npm run build:watch` - compile Angular app with webpack \n- `npm run server` - run node backend\n- OR `npm run dev` - runs previous two commands in parallel processes\n- nb: no local database needed; dev environment connects to mlab \n\n#### Deployment \n- run a production build \n- push to github and heroku \n\n#### To do  \n- Figure out why CSP headers are failing in prod\n\n#### Enhancements\n- add a loader\n- add active class to nav links\n- Make sure the error messaging is appropriate for all of the forms \n- add better validation to the username field  \n- debounce the search box\n- add tests\n- add logger\n\n#### Possible Features \n- add a recent button and a most popular button to the home page (this will mean changing the data structure \n- add paging\n- username availability check\n\n\n\n\n\n\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Farwl2016%2Fvoting-app","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Farwl2016%2Fvoting-app","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Farwl2016%2Fvoting-app/lists"}