A backend functionality where user can give vote to the given set of candidates.
- user sign in / sign up
- see the list of candidate
- vote one of the candidate, after voting, user can't vote again
- there is a route which shows the list of candidates and their live vote counts sorted by their vote count
- user data must contain their one uqiue goverment id proof named : aadhar card number
- there should be one admin who can only maintain the table of candidates and he can't able to vote at all
- user can change their password
- user can login only with aadhar card number and password
- admin can't vote at all
/signup: POST - Create a new user account.
/login: POST - Log in to an existing account.
/candidates: GET - Get the list of candidates.
/vote/:candidateId: POST - Vote for a specific candidate.
/vote/counts: GET - Get the list of candidates sorted by their vote counts.
/profile: GET - Get the user's profile information.
/profile/password: PUT - Change the user's password.
/candidates: POST - Create a new candidate.
/candidates/:candidateId: PUT - Update an existing candidate.
/candidates/:candidateId: DELETE - Delete a candidate from the list.