/Voting-app

Simple backend-only web app

Primary LanguageJava

VotingApp

Fast launch

Environment: docker v17.03, docker-compose v1.16.0-rc2

    cd docker
    docker-compose up

Server starts at port 8081

Method, Url, Description

Topic

Post, api/v1/topics, create

Get, api/v1/topics/{topicId}, read

Put, api/v1/topics/{topicId}, update

Delete, api/v1/topics/{topicId}, delete

Get, api/v1/topics, get all

Delete, api/v1/topics, delete all

Request body example:
{
    "name": "topic"
}

Voting

Post, api/v1/votings, create

Get, api/v1/votings/{votingId}, read

Put, api/v1/votings/{votingId}, update

Delete, api/v1/votings/{votingId}, delete

Get, api/v1/votings, get all

Delete, api/v1/votings, delete all

Post, api/v1/topics/{topicId}/votings, create by topicId

Get, api/v1/topics/{topicId}/votings, get all by topicId

Delete, api/v1/topics/{topicId}/votings, delete all by topicId

Post, api/v1/votings/{votingId}?enable=boolean, start/close voting

Request body example:
{
    "name": "voting",
    "topicId": 1
}

Item

Post, api/v1/items, create

Get, api/v1/items/{itemId}, read

Put, api/v1/items/{itemId}, update

Delete, api/v1/items/{itemId}, delete

Get, api/v1/items, get all

Delete, api/v1/items, delete all

Delete, api/v1/topics/{topicId}/votings/{votingId}/items, delete all by topicId and votingId

Get, api/v1/topics/{topicId}/votings/{votingId}/items, get all by topicId and votingId

Post, api/v1/topics/{topicId}/votings/{votingId}/items, create by topicId and votingId

Post, api/v1/topics/{topicId}/votings/{votingId}/items/{itemId}, vote for item

Request body example:
{
    "name": "item",
    "votingId": 1
}