Oxfam International Oviohub Project to connect voters in El Salvador to their representatives.

What it does

Allows voters to view candidates for upcoming elections and rate the candidates on their various social and political stances.

How we built it

The application is composed of a frontend server built with React and the material-ui framework and a backend server built with Node.js and Express using Mongodb and Firebase Authentication.

Challenges we ran into

We spent time trying to use Google Firestore and ended up abandoning that for Mongodb which cost us some time. We then spent a lot of time debugging the MongoDB logic due to a few minor bugs.

Accomplishments that we're proud of

The grid of candidates that opens a popup dialog containing more information about the candidate and allowing the user to vote when one of the candidates on the grid is clicked.

What we learned

Three of our team members had never used Node.js or React so there was a steep learning curve for most of the group. The advanced member of our team learned how to use Firebase authentication and the differences between Firestore and a document database like Mongodb.

What's next for hackduke-2018-candidate-view

Still need to fix some bugs in the MongoDB logic and add a dashboard where admins can enter new candidates. Perhaps add location services so that the local representatives can be prioritized on the grid. Port the React web server to a React native application.

Share this project: