Politico is a platform that enables citizens give their mandate to politicians running different government offices while building trust in the process through transparency.
This project enables an online voting system
Test API Endpoints Here: https://politico-software.herokuapp.com/
Pivotal Tracker: https://www.pivotaltracker.com/n/projects/2330234
Hosted application: https://keen-murdock-6b52d2.netlify.com/
Airbnb (Javascript style guide)
Users can sign up
.Users can login
.Admin (electoral body) can create political parties
.Admin (electoral body) can delete a political party
.Admin (electoral body) can create different political offices
.Users can vote for only one politician per political office
.Users can see the results of election
.
Ensure you have NodeJS installed by entering node -v
on your terminal
If you don't have NodeJS installed go to the NodeJS Website, and follow the download instructions
To install this app
git clone https://github.com/amaechi-chuks/Politico-react
And install the required dependencies
npm install
Run server
npm run start:dev
To run test cases
npm test
Endpoint | Functionality | HTTP method |
---|---|---|
/api/v1/auth/signup | Create a user account | POST |
/api/v1/auth/login | Login a user | POST |
/api/vi/profile | User profile page | GET |
/api/vi/interest/:id | User can declare an interest to run for an office | POST |
/api/vi/interest | User can get all interested candidates | GET |
/api/vi/offices | User can get all political office | GET |
/api/vi/parties | User can get all political parties | GET |
/api/vi/parties | Admin can create a political party | POST |
/api/vi/offices | Admin can create a politcal offices | POST |
/api/vi/parties/:id | Admin can update a political party name | PATCH |
/api/vi/profile_pic | User can update profile picture | POST |
/api/vi/parties/:id | Admin can delete a party | DELETE |
This projects is under the MIT LICENSE
If you want to contribute to this project:
Fork it! :fork_and_knife:
Create your feature branch: git checkout -b my-new-feature
Commit your changes: git commit -m 'Add some feature'
Push to the branch: git push origin my-new-feature
Create a pull request.