POLITICO is a fullstack javascript application that enables citizens give their mandate to politicians running for different government offices while building trust in the process through transparency.
- Getting Started ..prerequisites ..Installation
- Technology Stack ..* Dependencies
- Features
- Built With
- Deployment
- Useful Links
- Acknowledgment
These instructions will get you a copy of the project up and running on your local machine for development and testing purposes.
To get started with this project you need a basic knowledge of :
Javascript (ES6)
NodeJs
SQL (Postgres)
Version Control (Git)
The follwing instructions will install the project on your local machine
1. Install [**Node JS**](https://nodejs.org/en/).
2. Install [**Postgres**](https://www.postgresql.org/) .
3. Clone the [**repository here**](https://github.com/PascalUlor/politico-app.git)
4. [**cd**] into the root directory of the project folder ```politico-app```.
5. Run `npm install` on the terminal to install Dependecies and Dev-Dependecies
- open terminal and run
npm run start:dev
- open POSTMAN and type paste each of the following route:
_POST_ https://the-politico.herokuapp.com/api/v1/auth/signup
_POST_ https://the-politico.herokuapp.com/api/v1/auth/login
_POST_ https://the-politico.herokuapp.com/api/v1/parties
_GET_ https://the-politico.herokuapp.com/api/v1/parties
_GET_ https://the-politico.herokuapp.com/api/v1/parties/:id
_DELETE_ https://the-politico.herokuapp.com/api/v1/parties/:id
_PATCH_ https://the-politico.herokuapp.com/api/v1/parties/:id/name
_GET_ https://the-politico.herokuapp.com/api/v1/offices
_POST_ https://the-politico.herokuapp.com/api/v1/offices
_GET_ https://the-politico.herokuapp.com/api/v1/parties/:id
_GET_ https://the-politico.herokuapp.com/api/v1/office/:id/result
_POST_ https://the-politico.herokuapp.com/api/v1/office/:id/register
_POST_ https://the-politico.herokuapp.com/api/v1/vote
_PUT_ https://the-politico.herokuapp.com/api/v1/admin/:id/true
UI & Templates
- HTML & CSS
- Javascript
Server Side
- NodeJS
- Express
Client Side
- Javascript
- HTML and CSS
- Postgres
- Nodejs
The user interface is built for easy navigation and use of the application. It includes the following:
- The users should be able to vote.
- Users can create an account and log in.
- The users should be able to register as candidate.
- The admin should be able to view all users
- The user can view election result
- It uses JSON Web Token (JWT) for authentication.
- Token is generated on user login
- Token is perpetually verified to check the state of the user if logged in or not.
- Admin User will be pre-seeded into the application with administrative priviledges
This Application will be deployed on Heroku Deploy
- Project Management road map Pivotal Tracker
- Github Repo
- UI templatesGH-PAGES
- Live demo on Heroku Deploy
- Andela
- Stackoverflow
- Codepen.io
- Hacker rank
- Travis Media