an oversimplified application to register attendees at a conference or event

Davide Alberani 4f77b3953d fixes #16: avoid adding empty group/attendees 7 yıl önce
build 9657cb17f0 fixes #7: add notes to attendees, groups and days 7 yıl önce
config 9657cb17f0 fixes #7: add notes to attendees, groups and days 7 yıl önce
docs 9657cb17f0 fixes #7: add notes to attendees, groups and days 7 yıl önce
src 4f77b3953d fixes #16: avoid adding empty group/attendees 7 yıl önce
ssl 1e765a04c9 ssl directory 7 yıl önce
static 30673a1f68 initial commit 7 yıl önce
tests ee89531da4 delete pyc file 7 yıl önce
.babelrc 658948a02f add .pybabel 7 yıl önce
.gitignore 658948a02f add .pybabel 7 yıl önce
LICENSE.txt 890dad90db add license 7 yıl önce
README.md dc6db6b6b0 move demo to https 7 yıl önce
ibt2.py 4f77b3953d fixes #16: avoid adding empty group/attendees 7 yıl önce
index.html d2aa6af62f code cleanup 7 yıl önce
monco.py e9ce35a379 code cleanup 7 yıl önce
package.json b610a0cb4f remove useless deps 7 yıl önce
utils.py e9ce35a379 code cleanup 7 yıl önce

README.md

ibt2 - I'll be there, 2

I'll be there, 2 is an oversimplified application to register attendees at a conference or event.

Basic workflow:

  • if you want (not mandatory), login with your user; to create a new user, simply choose a username and a password. Benefit of logging in: only you or admins can edit/delete your entries.
  • pick a date
  • choose the name of a new group
  • write your name
  • rinse and repeat

It's recommended to login with username admin and password ibt2, go to your personal page and change the password, if you've just installed ibt2. The admin user can grant super cow powers to any other user.

Demo

See https://ibt2.ismito.it:3002/

Install, run, develop and debug

To install it:

wget https://bootstrap.pypa.io/get-pip.py
sudo python get-pip.py
sudo pip install tornado
sudo pip install pymongo
sudo pip install python-dateutil
git clone https://github.com/raspibo/ibt2
cd ibt2

Installation of Node.js and npm is left as an exercise to the reader.

To run it:

# install dependencies (one time only)
npm install

# build for production with minification (each time the sources changes)
npm run build

# run the Python webserver at localhost:3000
npm run server

Now you can point your browser to http://localhost:3000/ (that's the server for production)

If you want, you can share a link to a specific day, specifying it in the yyyy-mm-dd format, like: http://localhost:3000/#/day/2017-01-20

You can also run the server in https, putting in the ssl directory two files named ibt2_key.pem and ibt2_cert.pem

To run a development environment:

# install dependencies (one time only)
npm install

# run the Python web server using a testing database
npm run devserver &

# serve with hot reload at localhost:8080
npm run dev

# only when the devserver is running, you can also run the testsuite
python ./tests/ibt2_tests.py

Your browser will automatically open http://localhost:8080/ (that's the server for development)

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 Node.js, Tornado, MongoDB and the pymongo module on your system (no configuration needed).

License and copyright

Copyright 2016-2017 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.