awaken-direct-democracy
Version:
This is the functional skeleton / working mock up of a disruptive app to increase voter turnout and participation driven at the start by just one person - Tom Atkinson in New Zealand - after watching in horror the signing of the TPPA in Auckland February
270 lines (230 loc) • 13.4 kB
Markdown
# The Awaken Direct Democracy Project :: Open Source Government
Concept stage storyboards for a mobile web-app to enable NZ citizens cast private and secure digital votes into a public block-chain backed parliament. Vote in elections, acts and bills – on legislation past current and future! Currently seeking NodeJS developers.
## About the project - goals:
_“You never change things by fighting the existing reality. To change something, build a new model that makes the existing model obsolete.”
― **R. Buckminster Fuller**_
Increased voter turnout and participation
+ Fraud-proof international quality government elections
+ Fast feedback public polling and sentiment gathering
+ Open-source peer to peer electronic voting platform
+ Designed for New Zealand, aimed at fixing the issues in USA
+ Private and Verifiable realtime voting in a blockchain
+ Revokable votes that can be changed up to 7 times
+ Increase voter turn out by using RealMe.govt.nz Government-backed high confidence authentication for binding votes
+ Allow demo login via Google and Facebook to gauge public opinion
+ Indestructibly publish votes into RootStock peer to peer network
+ This Ethereum compatible Bitcoin-backed private side-chain is a public block-chain similar to Bitcoins blockchain
+ Allows our government to publish a cryptographic fingerprint to sign the authenticity of the election in blocks of votes spread across time, but still enable visibility on:
+ size of the enrolment and turnout by polling booth
+ voting preferences by candidate and party by polling booth
+ each polling booth has unique keys held at Elections Commission perhaps
+ Protect privacy by cryptographically scrambling citizens IDs and votes yet maintain audit trail
+ Allow all citizens of earth to also login and cast non-acting indicative votes
+ Allow login via oAuth providers such as Google and Facebook to facilitate rapid take-up during launch
+ System to mirror Parliament and Legislation websites and enable public voting on past and future laws
+ To develop a constitution for NZ that includes human rights
### Phase 1: Perpetual Election Polling System
### Phase 2: Mirror parliaments legislation
### Phase 3: Enabling Legislation
We must find a constitution for our country. One that respects the rights of indigenous peoples and all people to live in peace. One that respects nature and science, as well as the economy, during this pivotal time in history as we struggle to develop economic scientific models of sustainability over endless growth of privately held wealth.
tom.guru
THE STUFF BELOW IS ALL FROM IONIC 2 AND THE DRIFTYCO CONFERENCE APP - WOW THAT THING IS AMAZING WHAT AN INSPIRATION IT IS!
# Ionic 2 Conference Application
This is purely a demo of Ionic 2 with TypeScript. It is still in development.
## Important!
**There is not an actual Ionic Conference at this time.** This project is just to show off Ionic 2 components in a real-world application. Please go through the steps in [CONTRIBUTING.md](https://github.com/driftyco/ionic-conference-app
blob/master/.github/CONTRIBUTING.md) before submitting an issue.
## Table of Contents
- [Getting Started](#getting-started)
- [Contributing](#contributing)
- [Use Cases](#use-cases)
- [App Preview](#app-preview)
- [File Structure of App](#file-structure-of-app)
## Getting Started
* Clone this repository.
* Want to use TypeScript? Both the `master` branch and the `typescript` branch now use TypeScript.
* Run `npm install` from the project root.
* Install the ionic CLI (`npm install -g ionic`)
* Run `ionic serve` in a terminal from the project root.
* Profit
**Note:** Is your build slow? Update `npm` to 3.x: `npm install -g npm`.
## Contributing
See [CONTRIBUTING.md](https://github.com/driftyco/ionic-conference-app
blob/master/.github/CONTRIBUTING.md) :tada::+1:
## Use Cases
* Action Sheet - [ [template](https://github.com/driftyco/ionic-conference-app
blob/master/src/pages/candidate-list/candidate-list.html) | [code](https://github.com/driftyco/ionic-conference-app
blob/master/src/pages/candidate-list/candidate-list.ts) ]
* Alert - [ [code](https://github.com/driftyco/ionic-conference-app
blob/master/src/pages/schedule/schedule.ts) ]
* Cards - [ [template](https://github.com/driftyco/ionic-conference-app
blob/master/src/pages/candidate-list/candidate-list.html) ]
* Datetime - [ [template](https://github.com/driftyco/ionic-conference-app
blob/master/src/pages/about/about.html) ]
* Grid - [ [template](https://github.com/driftyco/ionic-conference-app
blob/master/src/pages/login/login.html) ]
* Inputs - [ [template](https://github.com/driftyco/ionic-conference-app
blob/master/src/pages/login/login.html) ]
* Items (Sliding) - [ [template](https://github.com/driftyco/ionic-conference-app
blob/master/src/pages/schedule/schedule.html) | [code](https://github.com/driftyco/ionic-conference-app
blob/master/src/pages/schedule/schedule.ts) ]
* Menu - [ [template](https://github.com/driftyco/ionic-conference-app
blob/master/src/app.html) |
[code](https://github.com/driftyco/ionic-conference-app
blob/master/src/app.ts) ]
* Modal - [ [template](https://github.com/driftyco/ionic-conference-app
blob/master/src/pages/schedule-filter/schedule-filter.html) | [code](https://github.com/driftyco/ionic-conference-app
blob/master/src/pages/schedule/schedule.ts) ]
* Searchbar - [ [template](https://github.com/driftyco/ionic-conference-app
blob/master/src/pages/schedule/schedule.html) | [code](https://github.com/driftyco/ionic-conference-app
blob/master/src/pages/schedule/schedule.ts) ]
* Segment - [ [template](https://github.com/driftyco/ionic-conference-app
blob/master/src/pages/schedule/schedule.html) | [code](https://github.com/driftyco/ionic-conference-app
blob/master/src/pages/schedule/schedule.ts) ]
* Slides - [ [template](https://github.com/driftyco/ionic-conference-app
blob/master/src/pages/tutorial/tutorial.html) |
* Sticky headers - [ [template](https://github.com/driftyco/ionic-conference-app
blob/master/src/pages/schedule/schedule.html) ]
* Tabs - [ [template](https://github.com/driftyco/ionic-conference-app
blob/master/src/pages/tabs/tabs.html) | [code](https://github.com/driftyco/ionic-conference-app
blob/master/src/pages/tabs/tabs.ts) ]
* Toggle - [ [template](https://github.com/driftyco/ionic-conference-app
blob/master/src/pages/schedule-filter/schedule-filter.html) ]
[code](https://github.com/driftyco/ionic-conference-app
blob/master/src/pages/tutorial/tutorial.ts) ]
* Using Angular HTTP for JSON - [ [code](https://github.com/driftyco/ionic-conference-app
blob/master/src/providers/conference-data.ts) | [usage](https://github.com/driftyco/ionic-conference-app
blob/master/src/pages/schedule/schedule.ts) ]
## App Preview
All app preview screenshots were taken by running `ionic serve --lab` on a retina display.
- [Schedule Page](https://github.com/driftyco/ionic-conference-app
blob/master/src/pages/schedule/schedule.html)
<img src="resources/screenshots/SchedulePage.png" alt="Schedule">
- [About Page](https://github.com/driftyco/ionic-conference-app
blob/master/src/pages/about/about.html)
<img src="resources/screenshots/AboutPage.png" alt="Schedule">
- To see more images of the app, check out the [screenshots directory](https://github.com/driftyco/ionic-conference-app
tree/master/resources/screenshots)!
## File Structure of App
```
awaken-direct-democracy/
├-- .github/ * GitHub files
│ ├── CONTRIBUTING.md * Documentation on contributing to this repo
│ └── ISSUE_TEMPLATE.md * Template used to populate issues in this repo
|
|-- resources/
|
|-- src/
| |-- app/
| | ├── app.component.ts
| | └── app.module.ts
| | └── app.template.html
| | └── main.dev.ts
| | └── main.prod.ts
| |
| |-- assests/
| | ├── data/
| | | └── data.json
| | |
| | ├── fonts/
| | | ├── ionicons.eot
| | | └── ionicons.svg
| | | └── ionicons.ttf
| | | └── ionicons.woff
| | | └── ionicons.woff2
| | |
| | ├── img/
| |
| |-- pages/ * Contains all of our pages
│ │ ├── about/ * About tab page
│ │ │ ├── about.html * AboutPage template
│ │ │ └── about.ts * AboutPage code
│ │ │ └── about.scss * AboutPage stylesheet
│ │ │
│ │ ├── account/ * Account page
│ │ │ ├── account.html * AccountPage template
│ │ │ └── account.ts * AccountPage code
│ │ │ └── account.scss * AccountPage stylesheet
│ │ │
│ │ │── login/ * Login page
│ │ │ ├── login.html * LoginPage template
│ │ │ └── login.ts * LoginPage code
│ │ │ └── login.scss * LoginPage stylesheet
│ │ │
│ │ │── map/ * Map tab page
│ │ │ ├── map.html * MapPage template
│ │ │ └── map.ts * MapPage code
│ │ │ └── map.scss * MapPage stylesheet
│ │ │
│ │ │── schedule/ * Schedule tab page
│ │ │ ├── schedule.html * SchedulePage template
│ │ │ └── schedule.ts * SchedulePage code
│ │ │ └── schedule.scss * SchedulePage stylesheet
│ │ │
│ │ │── schedule-filter/ * Schedule Filter page
│ │ │ ├── schedule-filter.html * ScheduleFilterPage template
│ │ │ └── schedule-filter.ts * ScheduleFilterPage code
│ │ │ └── schedule-filter.scss * ScheduleFilterPage stylesheet
│ │ │
│ │ │── session-detail/ * Session Detail page
│ │ │ ├── session-detail.html * SessionDetailPage template
│ │ │ └── session-detail.ts * SessionDetailPage code
│ │ │
│ │ │── signup/ * Signup page
│ │ │ ├── signup.html * SignupPage template
│ │ │ └── signup.ts * SignupPage code
│ │ │
│ │ │── speaker-detail/ * Speaker Detail page
│ │ │ ├── speaker-detail.html * SpeakerDetailPage template
│ │ │ └── speaker-detail.ts * SpeakerDetailPage code
│ │ │ └── speaker-detail.scss * SpeakerDetailPage stylesheet
│ │ │
│ │ │── candidate-list/ * Candidates tab page
│ │ │ ├── candidate-list.html * CandidateListPage template
│ │ │ └── candidate-list.ts * CandidateListPage code
│ │ │ └── candidate-list.scss * CandidateListPage stylesheet
│ │ │
│ │ │── tabs/ * Tabs page
│ │ │ ├── tabs.html * TabsPage template
│ │ │ └── tabs.ts * TabsPage code
│ │ │
│ │ └── tutorial/ * Tutorial Intro page
│ │ ├── tutorial.html * TutorialPage template
│ │ └── tutorial.ts * TutorialPage code
│ │ └── tutorial.scss * TutorialPage stylesheet
| |
│ ├── providers/ * Contains all Injectables
│ │ ├── conference-data.ts * ConferenceData code
│ │ └── user-data.ts * UserData code
│ ├── theme/ * App theme files
| | ├── variables.scss * App Shared Sass Variables
| |
| |-- index.html
|
|-- www/
| ├── assets/
| | ├── data/
| | | └── data.json
| | |
| | ├── fonts/
| | | ├── ionicons.eot
| | | └── ionicons.svg
| | | └── ionicons.ttf
| | | └── ionicons.woff
| | | └── ionicons.woff2
| | |
| | ├── img/
| |
| └── build/
| └── index.html
|
├── .editorconfig * Defines coding styles between editors
├── .gitignore * Example git ignore file
├── LICENSE * Apache License
├── README.md * This file
├── config.xml * Cordova configuration file
├── ionic.config.json * Ionic configuration file
├── package.json * Defines our JavaScript dependencies
├── tsconfig.json * Defines the root files and the compiler options
├── tslint.json * Defines the rules for the TypeScript linter
```