The project revolves around the previous elections that have taken place in Nigeria, the problems they have faced during each election and the many and various solutions that can be used to solve them.

Every person has the right to vote, no one should be afraid to leave their homes and have their voices be heard, the use of technology should be taught to all ages in the country and corruption should be fought by all citizens in order to mould the best future the youth of Nigeria should receive. We've approached each solution with technology in mind and using our computing skills to provide a solution that can be used by all, is safe and can be provided with ease.

What it does

Our project is an online web-application which can allow all legal candidates over 18 to register and then vote, whether they be at home or visit a mobile polling booth. Mobile polling booths are tracked using GPS and can be seen on the website if need be, in rural areas this information will be spread by word of mouth, posters and billboards.

Online at Home If a citizen is voting online from home they will be greeted by the home page on which they can see a login button, a register button and various information regarding the steps of registering and voting online.

When registering the user will have to enter their details including a form of Nigerian government issued ID and the document number. Once complete the next page will require the user to record a video of themselves reading a sentence shown in a text box above. Submitting the video and continuing to the next page will show a reference code that will be used later on voting day to login and submit the user's vote.

When a voter is voting on the day from their own home then they will have to login using their full name and reference number provided, they'll be shown the candidate names and parties which they can select and continue. A confirmation of selection page will show and they can either go back to change the vote or complete. If the user tries to login again they will see a message saying that they have already voted for "Candidate name" and cannot change it hence will need to exit. If by any chance the person logs in before or even during voting day, a message will be shown explaining that the person has not been verified.

Online at Poll In all states of Nigeria there will be mobile polls that will drive around during voting day to allow those in rural areas, no access to Internet, electricity or devices to register and vote at the mobile polling station.

The mobile polling station has the same process and set up, the user will be taken to a registration page on which they will enter their details and then a member of staff that is assigned to the mobile poll will verify the Nigerian government issued ID matches the person holding it and enter their staff security key to allow them to progress. Once the verification is complete the person will be taken to the voting page on which the candidate names and parties will be displayed, once again they will be shown confirmation of choice and be able to change or submit their vote.

After Voting Closes Once voting closes the website will no longer allow registration or people to login and vote. The homepage will show a chart with the number of votes for each candidate and a total summary of who has successfully won.

What this all helps to achieve?

  • Having easier registration allows more of the population to be able to sign up and vote.
  • Having access from home allows the person to be in a safe environment to vote in without having to be in danger if they are to go to a set polling station.
  • Mobile Polling stations that are on the move are harder to attack.
  • Having implemented everything online with precautions and measures including the database being encrypted and having a secured internet connection, votes cannot be changed or rigged.

How we built it

We used various tools and languages to create the application itself, of course it's not fully made and functional however we have been able to create a demo of a front-face for the web-app.

Rabarb's Statement Researched a various amount of information that could be used and related to so that they could be implemented into our product, dissected the information provided to us by BTNG, looked for funding companies and various ways to get grants to create the product, formed a prototype in order to have an idea of what our end product or vision would look like.

Kaleem's Statement Approach: We mapped out the process on paper showing the different pages that would be required and the different paths that the user would take. From there we started with the first page, the landing page (named "index.html"). We then worked on the register page followed by the login page and the voting page. After completing the index.html page, we shared the product with the team and some more changes were made. After a majority of the pages were created we implemented some validation using Javascript on the register page and login page.

Applications: Sublime Text 3 Software: Sublime Text 3 Languages: HTML, CSS, Javascript

Fahad's Statement Applications used: Terminal Sublime Text 3 Languages: MYSQL, HTML, CSS, JavaScript

Ankur's Statement We have used HTML, CSS3, Bootstrap and JavaScript in the project. We were planning to implement BigChainDB which is a block-chain database which insures transparency and security.

Challenges we ran into

Kaleem's Statement Whilst trying to implement a secure encrypted back end database we found out that the technology that we used (Blockchain Big chain Database) was pretty new and there was very few resources online teaching us how to implement this database. We then decided to implement a database known as mongodb using node.js and Express and realised that we didn't have enough time to learn the tools and implement, this has lead us to implement a MariaDB backend using php as the script. Hopefully, if the solution wins the Hackathon we may attain the resources to implement the Blockchain Database ensuring secure votes that can't be interfered with.

Rabarb's Statement We faced many challenges as a team, such as agreeing and disagreeing on ideas or having conflicts as to what must be chosen, as there wasn't a lot of time to do all this there was a lot of constraint to how much we could and can be done. Finding information that is relevant and could genuinely be used.

Ankur's Statement We quite struggled implementing the BigChainDB as it is a new tech and not much tutorial are available online. We later decided to implement it if our project goes live in after today as this is such technology which has been proved which will ensure fairness in election.

Fahad's Statement Technical issues installing software

Accomplishments that we're proud of

Kaleem's Statement I feel that all that I have achieved from this project I am proud of but at the same time am not as I believe we are all capable of creating amazing things as long as we work hard to achieve it.

Fahad's Statement I have learnt multiple languages to see which one would be the most efficient and easiest to implement for a web application that is cross platform and light, I feel proud of learning all of them.

Rabarb'a Statement Being able to create a partially working product, being able to work with people that I haven't met before and creating an amazing end product.

What we learned

Kaleem's Statement I've learned a lot about the back end of web applications, including mongodb. Finding out about Node.js has increase my knowledge in areas such as learning how web applications work in general. I have also learned how to work in a team and how to divide the workload amongst team mates and how to collaborate with other people on a major project.

Rabarb's Statement There's a lot of problems that Nigerians face when coming to elections ad voting, there's so many factors that have an impact of making all this actually happen. Learnt how to research and delve into questions deeper and focus on multiple things.

Fahad's Statement I deployed the website and learnt how to use new tools.

Ankur's Statement It was an amazing experience to be part of it as I networked with lots of people and learn a lot of stuff as it was my first Hackathon.

What's next for Vota

For Vota to come to life and actually be used!

A functioning back-end must be implemented into the system and a clean of design and data, as well as funding and man-power to create this product into a system that can actually be used not only by Nigerians but other developing countries where similar problems occur.

Built With

Share this project: