Your friendly manager of attendees at an event

Davide Alberani eeadf5759d fixes #145: remove Person collection 7 years ago
angular_app eeadf5759d fixes #145: remove Person collection 7 years ago
data 17a2412201 fixes #128: included a sample db 8 years ago
docs 9846654070 update documentation 7 years ago
screenshots ee5e1a829e #123: more screenshots 8 years ago
ssl 956bc9cc07 Revert "mario edition" 9 years ago
static 40eb303cfe simplify ticket adding 7 years ago
templates 9591c68bf2 templates directory 9 years ago
.gitignore 956bc9cc07 Revert "mario edition" 9 years ago
LICENSE.txt c377eb032b add Apache 2.0 license 9 years ago
README.md b2d2b397d5 update documentation 7 years ago
backend.py eeadf5759d fixes #145: remove Person collection 7 years ago
eventman_server.py eeadf5759d fixes #145: remove Person collection 7 years ago
utils.py 6781f06ebe use IDs for document owner 8 years ago

README.md

Event Man(ager)

Your friendly manager of attendees at an event.

Event Man(ager) will help you handle your list of attendees at an event, managing the list of registered persons and marking persons as present.

Main features:

  • an admin (in the future: anyone) can create and manage new events
  • events can define a registration form with many custom fields
  • a person can join (or leave) an event, submitting the custom forms
  • no registration is required to join/leave an event
  • quickly mark a registered person as an attendee
  • easy way to add a new person, if it's already known from a previous event or if it's a completely new person
  • can import Eventbrite CSV export files
  • RESTful interface that can be called by third-party applications (see the https://github.com/raspibo/event_man/ repository for a simple script that checks people in using a barcode/QR-code reader)
  • ability to run triggers to respond to an event (e.g. when a person is marked as attending to an event)
  • can run on HTTPS
  • multiple workstations are kept in sync (i.e.: marking a person as an attendee is shown in every workstation currently viewing the list of persons registered at an event)

See the screenshots directory for some images.

Development

See the docs/DEVELOPMENT.md file for more information about how to contribute.

Technological stack

The web part is incuded; you need to install Tornado, MongoDB and the pymongo module on your system (no configuration needed). If you want to print labels using the print_label trigger, you may also need the pycups module.

Install and run

Be sure to have a running MongoDB server, locally. If you want to install the dependencies only locally to the current user, you can append the --user argument to the pip calls. Please also install the python-dev package, before running the following commands.

wget https://bootstrap.pypa.io/get-pip.py
sudo python get-pip.py
sudo pip install tornado # version 4.2 or later
sudo pip install pymongo # version 3.2.2 or later
sudo pip install pycups # only needed if you want to print labels
git clone https://github.com/raspibo/eventman
cd eventman
./eventman_server.py --debug

Open browser and navigate to: http://localhost:5242/

If you store SSL key and certificate in the ssl directory (default names: eventman_key.pem and eventman_cert.pem), HTTPS will be used: https://localhost:5242/

Authentication

By default, authentication is not required; unregistered and unprivileged users can see and join events, but are unable to edit or handle them. Administrator users can create ed edit events; more information about how permissions are handled can be found in the docs/DEVELOPMENT.md file.

The default administrator username and password are admin and eventman. If you want to force authentication, run the daemon with --authentication=on

Demo database

In the data/dumps/eventman_test_db.tar.gz you can find a sample db with over 1000 fake persons and a couple of events to play with. Decompress it and use mongorestore to import it.

License and copyright

Copyright 2015-2016 Davide Alberani da@erlug.linux.it, RaspiBO info@raspibo.org

Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. You may obtain a copy of the License at http://www.apache.org/licenses/LICENSE-2.0

Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License.