hartwork / jawanndenn Goto Github PK
View Code? Open in Web Editor NEW:date: Simple alternative to Doodle polls and scheduling (Python 3, Django 5, some JavaScript)
Home Page: https://jawanndenn.de/
:date: Simple alternative to Doodle polls and scheduling (Python 3, Django 5, some JavaScript)
Home Page: https://jawanndenn.de/
It would be nice to let voters to remove any entry.
Disclaimer
I'm relatively new to the Open Source community and don't really know how to approach feature requests.
Use Case
In short, the Assignment Problem can be understood as the process to assign e.g. tasks to e.g. users. I think it would be possible to extend jawanndenn
to solve this problem.
Let me explain:
Say instead of organizing a BBQ (for which I could use jawanndenn
to find a date), I want to make sure that there are different kinds of foods and things needed for a BBQ. As the BBQ organizer, I want to make sure, that there's: drinks, food, music, blanket
There are four participants A,B,C,D
. Each is able to provide different things for the BBQ:
| Drinks | Food | Music | Blanket |
A| yes | yes | no | no |
B| no | yes | yes | yes |
C| no | no | no | yes |
D| yes | no | no | no |
The Assignment Problem could be solved in this case by: A->Food, B->Music, C->Blanket, D->Drinks
.
Things to consider
There might be no solution to the Assignment Problem, or the solution might not be unique. For non-unique cases, one (arbitrary) assignment could be returned. For unsolvable problems, some sort of "as-good-as-it-gets-solution" could be returned.
Implementation
The JSON
setup file could contain an additional flag: assignmentproblem: false / true
to switch between the classical use case and the Assignment Problem use case.
Algorithms for the AP are plenty. E.g. the Hungarian algorithm solves the problem in polynomial time.
Personal
My motivation for this use case stems from the fact that our working group currently uses Doodle to schedule speaker-slots for our internal meeting: We have many (say 10) slots for many (also 10) people and everyone has different dates on which they are able to present. This is being done by hand and is starting to get cumbersome.
Right now it's root, which is not ideal.
After trying for an hour I would like to ask for your help here:
I was trying to install jawanndenn via docker-compose.
Because of a proxy I had to change my docker-compose.yml like following:
version: '2'
services:
jawanndenn:
restart: always
networks:
- proxy
build: .
volumes:
- '/data/docker/jawanndenn:/data'
environment:
- 'VIRTUAL_HOST=jawanndenn.mydomain.com'
- 'LETSENCRYPT_HOST=jawanndenn.mydomain.com'
- '[email protected]'
- 'LETSENCRYPT_TEST=true'
networks:
proxy:
external:
name: proxy_proxy
Running dc up -d && dc logs -f --tail=100
always gives me following log messages:
Creating jawanndenn_jawanndenn_1
Attaching to jawanndenn_jawanndenn_1
jawanndenn_1 | Traceback (most recent call last):
jawanndenn_1 | File "/root/.local/bin/jawanndenn", line 11, in <module>
jawanndenn_1 | load_entry_point('jawanndenn==1.5', 'console_scripts', 'jawanndenn')()
jawanndenn_1 | File "/usr/local/lib/python2.7/site-packages/pkg_resources/__init__.py", line 480, in load_entry_point
jawanndenn_1 | return get_distribution(dist).load_entry_point(group, name)
jawanndenn_1 | File "/usr/local/lib/python2.7/site-packages/pkg_resources/__init__.py", line 2691, in load_entry_point
jawanndenn_1 | return ep.load()
jawanndenn_1 | File "/usr/local/lib/python2.7/site-packages/pkg_resources/__init__.py", line 2322, in load
jawanndenn_1 | return self.resolve()
jawanndenn_1 | File "/usr/local/lib/python2.7/site-packages/pkg_resources/__init__.py", line 2328, in resolve
jawanndenn_1 | module = __import__(self.module_name, fromlist=['__name__'], level=0)
jawanndenn_1 | ImportError: No module named main
jawanndenn_1 | Traceback (most recent call last):
jawanndenn_1 | File "/root/.local/bin/jawanndenn", line 11, in <module>
jawanndenn_1 | load_entry_point('jawanndenn==1.5', 'console_scripts', 'jawanndenn')()
jawanndenn_1 | File "/usr/local/lib/python2.7/site-packages/pkg_resources/__init__.py", line 480, in load_entry_point
jawanndenn_1 | return get_distribution(dist).load_entry_point(group, name)
jawanndenn_1 | File "/usr/local/lib/python2.7/site-packages/pkg_resources/__init__.py", line 2691, in load_entry_point
jawanndenn_1 | return ep.load()
jawanndenn_1 | File "/usr/local/lib/python2.7/site-packages/pkg_resources/__init__.py", line 2322, in load
jawanndenn_1 | return self.resolve()
jawanndenn_1 | File "/usr/local/lib/python2.7/site-packages/pkg_resources/__init__.py", line 2328, in resolve
jawanndenn_1 | module = __import__(self.module_name, fromlist=['__name__'], level=0)
jawanndenn_1 | ImportError: No module named main
jawanndenn_jawanndenn_1 exited with code 1
Am I doing something wrong?
Great small piece of software. Works like a charm. I miss a possibility to insert a Impressum which is obligatory for public web services in Germany in my opinion all over the in the EU
How can I insert such a Impressum or a link to a Impressum?
Hi,
there are a few environment variables in the docker-compose file which need to be filled.
I can not find an explanation in the documentation, for example:
JAWANNDENN_SENTRY_DSN
JAWANNDENN_ALLOWED_HOSTS
JAWANNDENN_URL_PREFIX
JAWANNDENN_DEBUG
Furthermore the cron container is not mentioned anywhere in the documentation.
Thanks!
Example:
{
"equal_width": false,
"title": "Which fruit do *you* like?",
"options": [
"Apple",
"Banana",
"Orange",
"Papaya", "\ud800"
]
}
Hello, does this app have an API ?
I would like to be able to create poll automatically and retrieve the link.
Regards
installing via pip3 does not also install the rapid-json dependency.
There are a few things off right now, there is no name field and I can't save my selection:
And incidentally jquery.noty...
doesn't load. Maybe that's related.
Testpoll: https://jawanndenn.de/poll/fa6958e130e569db826b913c615d10ae24be100177ea9fbbb1e0ee62397a61d0
Hello,
First of all thank you for the project.
Second of all, I tried to build the docker image.
[root@localhost ~]# docker run -v $(pwd)/data:/data -p 8080:8080 jawanndenn
INFO:jawanndenn.main:Hash randomization found to be disabled.
INFO:jawanndenn.main:Re-executing with hash randomization enabled...
Traceback (most recent call last):
File "/root/.local/bin/jawanndenn", line 11, in
load_entry_point('jawanndenn==1.5', 'console_scripts', 'jawanndenn')()
File "/root/.local/lib/python2.7/site-packages/jawanndenn-1.5-py2.7.egg/jawanndenn/main.py", line 104, in main
db.save(filename) # catch saving trouble early
File "/root/.local/lib/python2.7/site-packages/jawanndenn-1.5-py2.7.egg/jawanndenn/poll.py", line 168, in save
suffix='.pickle',
File "/usr/local/lib/python2.7/tempfile.py", line 314, in mkstemp
return _mkstemp_inner(dir, prefix, suffix, flags)
File "/usr/local/lib/python2.7/tempfile.py", line 244, in _mkstemp_inner
fd = _os.open(file, flags, 0600)
OSError: [Errno 13] Permission denied: '/data/polls-tmpNDH70D.pickle'
Have you got this issue?
Thank you
Olivier
Hi,
I have installed jawanndenn under docker. As each web application, I access it throw an nginx web proxy (running on another docker container). There is SSL till the nginx proxy, then there is no SSL anymore.
All web application have their specific unique subfolder. So, I want to access the jawanndenn application via the following URL: https://mydomain.com/jawanndenn.
For other applications, I used to change the server (nginx, apache, tomcat, etc) root folder into the application container. Since jawanndenn is using bottle python which I am not familiar with, I have difficulties to configure the root folder. The application is not working as excepted since it cannot load other resources such as css and js files: see screenshot with a black square to hide my domain.
According the bottle documentation, it is possible to define a route somewhere inside the application. Is it really possible? If yes, where do I need to add the statement? I can edit the code when creating the docker image, it is fine for me...
Thank you
Really cool project, I feeled desperate to find a nice meetings scheduler!
Would be nice to have a three possible vote values: yes, no but also dunno/possible if really needed.
Doodle provides that (as well as framadate), I think that's somehow the only choice you can answer sometimes.
It would be great if jawanndenn can provide a way for the user to define their timezone, and then it automatically adjust the options based on the user's timezone.
For instance it can detect if the options are dates, it enables a drop-down field in which people can use their timezone. If no date/time was detected, the the dropdown menu be visible but disabled. This can also be used as a reference to tell user that the options are not detected as valid dates.
When I want to create a large poll almost all options are off screen, which means I can't select them.
Please get in touch offline if you're interested in funding a migration from bottle to Django. Thanks!
I am trying out jawanndenn on own server, but I cannot quite get it to work.
I set up jawanndenn inside a virtualenv, where it was installed with pip3 install jawanndenn
; then, I try to test it with:
$ JAWANNDENN_ALLOWED_HOSTS="mysite.com" jawanndenn --host 0.0.0.0 --port 6789
Then, when I fire up the browser at mysite.com:6789, I get Bad Request (400) in the browser, and the server terminal reports:
Invalid HTTP_HOST header: 'mysite.com:6789'. You may need to add 'mysite.com' to ALLOWED_HOSTS (['0.0.0.0', '127.0.0.1', '0.0.0.0', 'localhost']).
XX.YY.ZZ.WW- - [30/Nov/2021:11:37:59 +0000] "GET / HTTP/1.1" 400 143 "-" "Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:94.0) Gecko/20100101 Firefox/94.0"
Eh, however, I added it here in ALLOWED_HOSTS already:
jawanndenn/lib/python3.8/site-packages/jawanndenn/settings.py: 'mysite.com',
jawanndenn/lib/python3.8/site-packages/django/conf/global_settings.py:ALLOWED_HOSTS = [ "mysite.com" ]
... and I still get the above message.
Any suggestions how can I get this running for testing?
.. and for --server
mention values supported by bottle.
The current https://jawanndenn.de/poll/858dd89c4f336eb4469391068e00ca363119204ff0cc58d194668d6e15aae4d7
Doesn't scroll and there is no chance to add answers
Is it possible to integrate this an existing Django site. This is exactly what I am looking for but our intranet is already Django and would love to make this another app in that site.
Images could be hosted elsewhere, but appear like this:
(Source: Opinion stage)
[root@starbase-01 jawanndenn]# docker-compose up --build
WARN[0000] The "JAWANNDENN_DEBUG" variable is not set. Defaulting to a blank string.
WARN[0000] The "JAWANNDENN_URL_PREFIX" variable is not set. Defaulting to a blank string.
WARN[0000] The "JAWANNDENN_SENTRY_DSN" variable is not set. Defaulting to a blank string.
WARN[0000] The "JAWANNDENN_ALLOWED_HOSTS" variable is not set. Defaulting to a blank string.
WARN[0000] The "JAWANNDENN_SENTRY_DSN" variable is not set. Defaulting to a blank string.
WARN[0000] The "JAWANNDENN_URL_PREFIX" variable is not set. Defaulting to a blank string.
WARN[0000] The "JAWANNDENN_ALLOWED_HOSTS" variable is not set. Defaulting to a blank string.
WARN[0000] The "JAWANNDENN_DEBUG" variable is not set. Defaulting to a blank string.
WARN[0000] The "JAWANNDENN_SENTRY_DSN" variable is not set. Defaulting to a blank string.
[+] Running 0/3
⠿ postgres Error 1.4s
⠿ redis Error 1.4s
⠿ cron Error 1.4s
Error response from daemon: pull access denied for jawanndenn_jawanndenn, repository does not exist or may require 'docker login': denied: requested access to the resource is denied
[root@starbase-01 jawanndenn]#
A declarative, efficient, and flexible JavaScript library for building user interfaces.
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google ❤️ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.