Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/m7kvqbe1/election-polling
Polling application built with Silex & Backbone.js
https://github.com/m7kvqbe1/election-polling
backbone election-polling javascript php poll-application silex spa voting
Last synced: 27 days ago
JSON representation
Polling application built with Silex & Backbone.js
- Host: GitHub
- URL: https://github.com/m7kvqbe1/election-polling
- Owner: m7kvqbe1
- License: mit
- Created: 2015-07-19T13:37:40.000Z (over 9 years ago)
- Default Branch: master
- Last Pushed: 2017-01-08T23:14:54.000Z (about 8 years ago)
- Last Synced: 2025-01-08T04:33:28.244Z (29 days ago)
- Topics: backbone, election-polling, javascript, php, poll-application, silex, spa, voting
- Language: PHP
- Homepage:
- Size: 600 KB
- Stars: 1
- Watchers: 2
- Forks: 1
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
Awesome Lists containing this project
README
# General Election Polling Application
[![Build Status](https://travis-ci.org/tomeightyeight/election-polling.svg?branch=master)](https://travis-ci.org/tomeightyeight/general-election-polling) [![Scrutinizer Quality Score](https://scrutinizer-ci.com/g/tomeightyeight/general-election-polling/badges/quality-score.png)](https://scrutinizer-ci.com/g/tomeightyeight/general-election-polling/)
Welcome to the General Election Polling Application documentation. This is a single page application served by a database driven RESTful API.
## Summary of Technologies Used
The application has been built using the following key technologies:
- PHP 5.6
- Silex (see composer.json for list of additional packages)
- Backbone.js
- Handlebars.js
- Underscore.js
- jQuery
- mySQL
- Grunt (for SPA build)
- SASS
- Bootstrap## Pre-requisites
The application uses Apache and a .htaccess file (included) to URL rewrite all requests (except those to /public) to the application entry point (index.php).
## Installation
Please find included in the archive of this repository a SQL dump of the mySQL database.
1. Please install the relevant project dependencies via Composer (composer install - composer.json included).
2. Build SPA JavaScript bundles and CSS by installing and running Grunt (npm install - package.json included).
3. Ensure that the following file exists and is writable: ./log/error.log (this is not included in the repositoy due to the .gitignore).
4. Please configure the ./src/config.ini for your environment (I reccomend setting DEBUG to false for production).
## General Notes
Although some unit testing has been done and the API is complete I've skipped out functional testing of the API which would usually be performed using the Symfony WebTestCase class to test all the endpoints:
http://symfony.com/doc/current/book/testing.html#functional-testsThe following feature has not yet been fully implemented due to time constraints:
Results FilterThings to note about the voting feature:
- Feedback from API (e.g. with problem committing to database / if a user voted).
- Dynamically populates potential candidates based on constituency selected.
- Client side validation## Copyright and Licence
This application has been written by Tom Humphris and is released under the MIT License.