All Projects → fsinfuhh → Bitpoll

fsinfuhh / Bitpoll

Licence: GPL-3.0 license
A web application for scheduling meetings and general polling.

Programming Languages

python
139335 projects - #7 most used programming language
HTML
75241 projects
CSS
56736 projects
SCSS
7915 projects
javascript
184084 projects - #8 most used programming language
coffeescript
4710 projects

Projects that are alternatives of or similar to Bitpoll

qlicker
Open Source Clicker
Stars: ✭ 23 (-87.36%)
Mutual labels:  polling
Telegrambots
Java library to create bots using Telegram Bots API
Stars: ✭ 2,728 (+1398.9%)
Mutual labels:  polling
Netty Socketio
Socket.IO server implemented on Java. Realtime java framework
Stars: ✭ 5,565 (+2957.69%)
Mutual labels:  polling
Primus
⚡ Primus, the creator god of the transformers & an abstraction layer for real-time to prevent module lock-in.
Stars: ✭ 4,302 (+2263.74%)
Mutual labels:  polling
longpoll-doc
Документация для (почти) последней версии User LongPoll API
Stars: ✭ 56 (-69.23%)
Mutual labels:  polling
luasocketio
socket.io client implemented in pure Lua
Stars: ✭ 20 (-89.01%)
Mutual labels:  polling
comet
A http long polling comet implementation for nodejs and browser
Stars: ✭ 20 (-89.01%)
Mutual labels:  polling
ember-poller
A poller service based on ember-concurrency
Stars: ✭ 15 (-91.76%)
Mutual labels:  polling
mcp3008.js
A node.js module for querying an mcp3008 analog/digital converter.
Stars: ✭ 24 (-86.81%)
Mutual labels:  polling
use-axios-hooks
axios hooks for common network calls scenarios
Stars: ✭ 27 (-85.16%)
Mutual labels:  polling
EncoderTool
The EncoderTool is a library to manage and read out rotary encoders connected either directly or via multiplexers to ARM based boards. Encoder push buttons are supported. Callback functions can be attached to encoder changes and button presses to allow for event driven applications
Stars: ✭ 29 (-84.07%)
Mutual labels:  polling
spring-file-poller
A simple spring boot application that demonstrates file polling using the Spring Integration DSL
Stars: ✭ 25 (-86.26%)
Mutual labels:  polling
toiler
Toiler is a AWS SQS long-polling thread-based message processor.
Stars: ✭ 15 (-91.76%)
Mutual labels:  polling
appium-device-farm
This is an Appium 2.0 plugin designed to manage and create driver sessions on available devices.
Stars: ✭ 124 (-31.87%)
Mutual labels:  polling
polling2
Powerful polling utility in Python
Stars: ✭ 49 (-73.08%)
Mutual labels:  polling

Bitpoll

Bitpoll is a software to conduct polls about Dates, Times or general Questions.

This is a new version of the Dudel from opatut (https://github.com/opatut/dudel) used on <mafiasi.de>, rewritten using the Django framework as a backend.

Using Docker

docker build --tag <imagename>
cd <workdir>
mkdir -p run/{log,static,config}
cp <original_dir>/bitpoll/settings_local.py run/config/settings.py
vim run/config/settings.py
docker run -a stdout -a stderr --rm --name bitpoll -p 3008:3008 -p 3009:3009 --volume `pwd`/run/static:/opt/static --volume `pwd`/run/config:/opt/config --volume `pwd`/run/log/:/opt/log <image_name>

The Static assets from /run/static have to be served from the Webserver at /static/. The Container listens for uwsgi traffic on Port 3008 and for HTTP traffic on Port 8009

TODO: add example nginx Config

Manual Install

Get the code:

git clone https://github.com/fsinfuhh/Bitpoll

Generate a Python virtualenv and install dependencies:

virtualenv -p $(which python3) .pyenv
source .pyenv/bin/activate
pip install -r requirements.txt

Copy bitpoll/settings_local.sample.py to bitpoll/settings_local.py and customize the local settings.

Initialise Database:

./manage.py migrate

Run Testserver:

./manage.py runserver

Production

In production Senty is used for error reporting. django-auth-ldap is used vor login via ldap uwsgi to serve the app

Install Dependencies for Production:

sudo apt install g++ make python3-psycopg2 python3-ldap3 gettext gcc python3-dev libldap2-dev libsasl2-dev

Install Python Dependencies

pip install -r requirements-production.txt

Configure examples are in settings_local.py

our used uwsgi config can be found at https://github.com/fsinfuhh/mafiasi-rkt/blob/master/bitpoll/uwsgi-bitpoll.ini

For Production systems it is nessesarry to run

./manage.py compilemessages
./manage.py collectstatic

Management of Dependencies

We use pip-tools to manage the dependencies. After modification or the requirements*.in files or for updates of packages run

pip-compile --upgrade --output-file requirements.txt requirements.in
pip-compile --upgrade --output-file requirements-production.txt  requirements-production.in requirements.in

to sync your enviroment with the requirements.txt just run

pip-sync

this will install/deinstall dependencies so that the virtualenv is matching the requirements file

Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].