jawanndenn icon indicating copy to clipboard operation
jawanndenn copied to clipboard

API ?

Open ced455 opened this issue 6 years ago • 14 comments

Hello, does this app have an API ?

I would like to be able to create poll automatically and retrieve the link.

Regards

ced455 avatar May 23 '19 08:05 ced455

Hi!

In a way "yes" and in a way "no". "No" in the sense that there is no guarantee that the endpoints and their in- and output formats will remain the very same. "Yes" in the sense that you could fully operate it with curl as of today if you pay attention to what you see in Chromium's/Firefox's network inspector. If you do automated creation, please be responsible with how many polls you create on https://jawanndenn.de/ if you do not use a self-hosted instance somewhere.

Midterm, there is a good chance that I'll migrate this project off bottle towards Django. In case you know someone who would like to sponsor that transition, we could discuss adding a DRF REST API layer on top with versioning, as you'd expect from a true API.

hartwork avatar May 23 '19 18:05 hartwork

No worries it’s no more than 30 per weeks at the moment.

What about retrieving the most popular answer ? Anyway if I choose this solution I will host it myself :)

ced455 avatar May 24 '19 07:05 ced455

What about retrieving the most popular answer ?

It would be dead code from the point of view of current code base. I'm afraid that needs to wait until there is a proper API.

hartwork avatar May 24 '19 19:05 hartwork

will wait for it then :)

ced455 avatar May 25 '19 11:05 ced455

Since you are now using Django and REST-framework, is it possible to document the API?

e.g. for https://github.com/hartwork/jawanndenn/blob/master/jawanndenn/serializers.py

stefan2904 avatar Jan 30 '20 15:01 stefan2904

Also, do you think it makes sense to use REST-framework's class-based views instead of doing everything manually?

stefan2904 avatar Jan 30 '20 15:01 stefan2904

Hi @stefan2904 , while jawanndann started using a DRF serializer internally it does not have any API yet.

Can you describe your uses cases of a future API? That would would help making sure we're aiming in the same direction.

hartwork avatar Jan 30 '20 19:01 hartwork

with the API would like to be able to -create a poll (no sh*t Sherlock) Set a maximum amount of Answer Set a deadline date Set User (no need for authentication, i just need the name pre filled )

ced455 avatar Jan 31 '20 16:01 ced455

we would probably use it for something along the lines of:

  • create a poll
  • query current votes

in addition, the following is currently not implemented (afaik), but would be nice to have via api, too:

  • set a deadline
  • be able to close the voting / set a winner (this requires some form of authentication)

our usecase is a bot that automatically (e.g. regularly) creates the voting, sends the links to users, and after a certain time closes the voting and announces the winner (the defining of a winner might involve a manual step).

stefan2904 avatar Jan 31 '20 16:01 stefan2904

Thanks for your feedback!

I'm assuming that by deadline you mean a date that turns the poll read-only when reached.

Set User (no need for authentication, i just need the name pre filled )

I'm not sure I understand that one. @ced455 could you elaborate?

hartwork avatar Jan 31 '20 16:01 hartwork

Yes read only :)

When the user are in the poll there is field to set a username, I would like to pre fill these so user does not create new username and we are sure we can recognise these.

ced455 avatar Jan 31 '20 17:01 ced455

Also best case scenario is to get a link per user so they do not edit each other

ced455 avatar Jan 31 '20 17:01 ced455

I will need to consider which of these wishes fits with jawanndenn's goal of minimalism.

hartwork avatar Jan 31 '20 17:01 hartwork

I will need to consider which of these wishes fits with jawanndenn's goal of minimalism.

Make sense !

ced455 avatar Jan 31 '20 17:01 ced455