Skip to main content

Libre alternative to Doodle

Project description

What is jawanndenn?

Screenshot of poll creation in jawanndenn

jawanndenn is a simple web application to schedule meetings and run polls, a libre alternative to Doodle. It is written in Python and JavaScript using

jawanndenn is libre software developed by Sebastian Pipping. The server code is licensed under the GNU Affero GPL license version 3 or later whereas the client code is licensed under the GNU GPL license version 3 or later.

Please report bugs and let me know if you like it.

Installation

To install the latest release without cloning the Git repository:

# pip install jawanndenn

To install from a Git clone:

# python setup.py install --user

Deployment with Apache mod_wsgi

To use jawanndenn with mod_wsgi, there is file jawanndenn/app.wsgi For how to integrate jawanndenn/app.wsgi with the Apache configuration, please check the the related documentation of bottle.

Feel free to file a support ticket or drop me a mail, if you cannot get it to work.

Run with docker

You can build a docker image using docker-compose build and run it with docker-compose up.

Serialized data is saved to ~/.jawanndenn-docker/ outside the container (only if the server shuts down). The app is served on localhost:8080.

Command line usage

When installed, invocation is as simple as

# jawanndenn

During development, you may want to run jawanndenn from the Git clone using

# PYTHONPATH=. python jawanndenn/main.py --debug

Currently supported arguments are:

# jawanndenn --help
usage: jawanndenn [-h] [--debug] [--host HOST] [--port PORT]
                  [--url-prefix PATH] [--database-pickle FILE]
                  [--server BACKEND] [--max-polls COUNT]
                  [--max-votes-per-poll COUNT]

optional arguments:
  -h, --help            show this help message and exit
  --debug               Enable debug mode (default: disabled)
  --host HOST           Hostname or IP address to listen at (default:
                        127.0.0.1)
  --port PORT           Port to listen at (default: 8080)
  --url-prefix PATH     Path to prepend to URLs (default: "")
  --database-pickle FILE
                        File to write the database to (default:
                        ~/jawanndenn.pickle)
  --server BACKEND      bottle backend to use (default: tornado); as of this
                        writing bottle supports: auto, bjoern, diesel,
                        eventlet, gae, gevent, gunicorn, meinheld, paste,
                        twisted, waitress, wsgiref. For the most current list,
                        please check the documentation of bottle.

limit configuration:
  --max-polls COUNT     Maximum number of polls total (default: 1000)
  --max-votes-per-poll COUNT
                        Maximum number of votes per poll (default: 40)

Goals

Please check out the list of upcoming features.

Non-goals

  • Use of heavy frameworks: building blocks only

  • Read availability from calendars

Thanks

Special thanks to Arne Maier (@KordonDev) for reporting an XSS vulnerability, responsibly.

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

jawanndenn-1.6.tar.gz (68.5 kB view details)

Uploaded Source

File details

Details for the file jawanndenn-1.6.tar.gz.

File metadata

  • Download URL: jawanndenn-1.6.tar.gz
  • Upload date:
  • Size: 68.5 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: Python-urllib/3.6

File hashes

Hashes for jawanndenn-1.6.tar.gz
Algorithm Hash digest
SHA256 8bec667ebf7baafda0b74191dd772bf24ce52ad553430d577b380dcd50cefe48
MD5 8b7011a0ef976805d0a1e1c3e6f81eb2
BLAKE2b-256 d1fec74e54b84f43a2c9aaa41f0dabc9eed4e535e25eb134156741b1cb4f91c5

See more details on using hashes here.

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page