Skip to content

An app to allow Australian Voters to be able to vote on current issues and bills within the political landscape.

Notifications You must be signed in to change notification settings

BenBallingall/voting_app

 
 

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

63 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

voting_app


DigiPol - Parliament of the People

Description

Primary Program Objectives

The DigiPol Voting App (temporary name for now) will allow Australian Voters to be able to vote on current issues and bills within the political landscape.

  • Bills will be the legislation proposals put forth in Parliament, worded as is.
  • Issues will be generated according to public interest and contemporary topics as they arise.

It will collate voting results and show users the results of their electorates voting on bills. It will allow them to send an automatically generated email to their elected representative, as well as post the results out onto various social media.

Pages & Components - App Alpha

  • Issues Page - list of issues generated, sortable by date, popularity, controversiality(?)
  • Bills Page - list of bills sortable by house, date, progress
  • Voting Page - full description/links and voting buttons
  • Login Page - email - password
  • Results Page - list of horizontal bar graphs - 1 for each electorate
  • Verification/Profile Page - AEC details, electorate details, representatives and voting patterns, join Flux button, link profiles (google/fb/ig)

Program Protocols

The UI/UX is based on the Flutter Framework that uses the Dart Programming Language (this repo). The majority of development is in the lib directory which contains:

  • main.dart - Where the app starts (BottomNavBar here)
  • route_generator.dart - where all the page routing is done
  • styles.dart - where the colour themes are set
  • custom_widgets.dart - where the shared widgets are kept
  • /api directory for the API interaction code.

Edit pubspec.yaml to include other packages.

Outside this repo:

  • Databases and API are managed on AWS using lambda functions Data for Bills are mirrored from the federal and state parliament websites using the ausbills python package
  • Issues are manually entered into the database for now
  • New Issues/Bills and votes are recorded on the block-chain

Contributing

A list of current items and their progress can be found here. If you feel comfortable diving straight in, just fork the repo, and open it up in Android Studio. We use Effective Dart to guide our coding style, so make sure you make yourself familiar. Make the contributions you want to and create a Pull Request.

For collaborating, best practice is to join our Discord Community at discord.io / FluxParty and let us know where you're interested in helping out. That way we can make sure you are up to date with all the relevant information and put you in contact with others working on the project!

If you are new to Flutter here are a few resources to get you started on your first Flutter project:

Getting started

Install dependencies:

sudo apt install curl

Get flutter:

git clone https://github.com/flutter/flutter.git -b master
echo '#Add Flutter to PATH' >> $HOME/.bashrc
echo 'export PATH="$PATH:'$(pwd)'/flutter/bin"' >> $HOME/.bashrc
source $HOME/.bashrc
echo "Check the flutter is in path"
echo $PATH
flutter precache
echo "Check your dependencies:"
flutter doctor

Download and install Android Studio and install the Flutter plugin:

Run flutter doctor again to check dependencies.

For web dev:

flutter channel beta
flutter upgrade
flutter config --enable-web

Make sure you have Chrome installed

flutter devices

And Run flutter run -d chrome in the project dir.


Future Plans (Beta)

  • Graphs (Public Voice)
  • Commenting on Bills
  • Weekly Reports
  • Politi Compass - Personalised Voting History
  • Create Issues UI
  • User Profiles
  • Settings - Notifications, Emails
  • sorting bills - Date, title, chamber
  • Search bar
  • results map

About

An app to allow Australian Voters to be able to vote on current issues and bills within the political landscape.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • Dart 99.7%
  • Other 0.3%