2017 © Pedro PelĂĄez
 

symfony-bundle kyela

Participation polls for group events

image

abienvenu/kyela

Participation polls for group events

  • Monday, April 16, 2018
  • by abienvenu
  • Repository
  • 5 Watchers
  • 19 Stars
  • 84 Installations
  • PHP
  • 0 Dependents
  • 0 Suggesters
  • 3 Forks
  • 8 Open issues
  • 33 Versions
  • 0 % Grown

The README.md

Kyela

Docker image Scrutinizer Code Quality Build Status Code Climate Latest Stable Version License SensioLabsInsight, (*1)

Participation polls for group events, (*2)

Features

  • Create one or many polls
  • Each poll has a randomized URL; only people who get the link can have access
  • Suggest one or many dates
  • Customize the choices (text and color), add more choices
  • User comments
  • Simple usage, no authentication
  • Mobile friendly
  • No ad, no fee, no spying, just OpenSource

Basic Usage

  • Point your browser to a website hosting the KyĂ©lĂ  application, like http://kyela.net
  • Pick a name and click "Create" to create a new poll
  • Bookmark the URL of the poll
  • Add participants and events
  • Share the URL of the poll with your friends via email or chat
  • Enjoy!

Server Installation

Maybe you want your own private Kyélà server firewalled somewhere to protect your super-secret meetings. Or Maybe you want to run a customized, cooler version, for your private team of even for the public. Anyway, your are free to do it in the frame of the AGPL license., (*3)

Simple Docker container

This is the very simplest way to have Kyélà running, suitable for test or demo purpose:, (*4)

  • Install docker
  • Download and run the application :
$ docker run -d --name kyela -p 8042:80 -e APP_ENV=prod -e APP_SECRET=IAmNotSecret abienvenu/kyela
  • Point your browser to http://localhost:8042/

After a reboot, you may want to start the application again:, (*5)

$ docker start kyela

To update the code to the latest Symfony and Kyélà version, run:, (*6)

$ docker commit kyela # in case the update goes wrong
$ docker exec kyela composer update

NOTE: In this case, all the data lives inside the container, including polls created by your users. Good point: if you move the container somewhere else, the data goes with it. However, if you remove the container, the data is DELETED., (*7)

Docker container with a named volume

Using a named volume is more suitable for production use., (*8)

$ docker volume create --name kyela-data
$ docker run -d --name kyela -p 8042:80 -v kyela-data:/var/www/kyela/data --restart always  -e APP_ENV=prod -e APP_SECRET=IAmNotSecret abienvenu/kyela

The named volume can be easily backed up (cf. https://docs.docker.com/engine/tutorials/dockervolumes/#/backup-restore-or-migrate-data-volumes). This technique enables you to pull newer Docker images of the kyela application, remove the old container, and instanciate a new one using the same data volume:, (*9)

$ docker pull abienvenu/kyela
$ docker stop kyela
$ docker rm kyela
$ docker run -d --name kyela -p 8042:80 -v kyela-data:/var/www/kyela/data --restart always  -e APP_ENV=prod -e APP_SECRET=IAmNotSecret abienvenu/kyela

Native

Native installation is deprecated, but you can still try it here., (*10)

Customisation

To edit or extend the FAQ or About page, you just have to add entries in Resources/translations/faq.en.yml (or about.en.yml)., (*11)

For further customisation, you have to edit the templates or the code. Because of the licence (GNU Affero GPL-3.0), you must publish the modified code as soon as your project is publicly online. See below how to develop and contribute to the Kyélà project., (*12)

Developing

Would you like to tweak Kyélà, trying your very own features ? You need not install anything but Docker, and mount the code into a running container. Here is how:, (*13)

  • Download the code at https://github.com/abienvenu/Kyela/archive/master.zip
  • Unzip it
  • Launch the kyela docker image, mounting the directory of the unzipped code:
$ cd docker && make run-dev
  • Point your web browser to http://localhost:8042/
  • Use your favorite editor to modify the files into the Kyela-master directory, and see the results in your browser

If you use an advanced PHP editor like PHPStorm, you may want to give it access to the vendor directory so it can parse the librairies. Here is how to get a copy of it:, (*14)

$ docker cp kyela-dev:/var/www/kyela/vendor Kyela-master/vendor

Contributing

Please share with us any cool feature or improvement you made! All you need is Github account. Then:, (*15)

  • Fork the KyĂ©lĂ  project https://github.com/abienvenu/kyela (see https://help.github.com/articles/fork-a-repo/)
  • Clone your fork of the KyĂ©lĂ  project: git clone https://github.com/YOUR-USERNAME/Kyela
  • Like in the previous "Developing" section, launch the kyela docker image, with the code mounted:
$ cd docker && make run-dev
  • Point your web browser to http://localhost:8042/
  • Use your favorite editor to modify the code
  • Test your code: cd docker && make test
  • Make a pull request: https://help.github.com/articles/creating-a-pull-request/

Your contribution will be reviewed, and probably merged into the main project., (*16)

CHANGELOG

  • 1.7.5 :
    • Better wording
    • Poll creation from homepage simplified: no title required
    • Symfony upgrade to 3.4.24
  • 1.7.4 :
    • Symfony upgrade to 3.4.20
  • 1.7.3 :
    • New colors and new framing options (see "Tips")
  • 1.7.2 :
    • Upgrade to Symfony Flex
  • 1.7.1 :
    • Upgrade from Symfony 2.8 to Symfony 3.4
  • 1.7.0 :
    • Upgrade base components (PHP, Symfony, PHPUnit...)
    • Added first Behat tests
    • Deleted the "Contact" page, because of spam hassle
  • 1.6.10 :
    • Added "subtitle" for events
    • Added a link below choices to add another option
  • 1.6.9 :
    • Graphical tweaks
    • Added the "tips" section
  • 1.6.8 :
    • Added /frame for easy integration from remote websites
    • Event name is now optional (yes, there are use cases)
  • 1.6.7 :
    • Added confirmation popup if you act for another participant
  • 1.6.6 :
    • Fix for sortability that would prevent mobiles from scrolling the participant list
    • Now you have to click on the participant name to move it up or down
  • 1.6.5 :
    • Added the ability to sort participants via drag'n drop
  • 1.6.4 :
    • Added documentation about developing and contributing
    • Fix for favicon.ico
  • 1.6.3 :
    • Added German translation (thanks to NoodleBB)
  • 1.6.2 :
    • Bootstrap and Jquery are no longer included in the source code, but fetched via composer
  • 1.6.1 :
    • The email contact is now configurable via an environment variable
    • Fix for empty event names
  • 1.6.0 :
    • Participations are now set using AJAX, without reloading the whole poll page
  • 1.5.10 :
    • Fixed the Head lines and Bottom lines that would be reset to blank as soon as you edit a poll
    • Unit tests are now in Dockerfile, so we should not have any more broken Docker images
    • Removed deprecated code
  • 1.5.8 :
    • Embedded Dockerfile with the application source code
  • v1.5.6 :
    • Bugfix for date comparison with Sqlite
  • v1.5.5 :
    • Added limit for "Archives" to avoid memory outages
  • v1.5.4 :
    • Better documentation
    • Docker compatibility
  • v1.5.0 :
    • Code refactoring: replaced traits by controller inheritance
  • v1.4.2 :
    • Fix : do not display "add comment" if there is no participant
  • v1.4.1 :
    • Added protection against dumb crawlers
    • Explained cookie policy
  • v1.4 :
    • Content enhancements on Homepage/Faq/About
    • New example: holidays
    • Ability to add dates without specifying name nor time
  • v1.3 :
    • Added placeholders
    • Date and time are now optional
  • v1.2 :
    • Added ability to add an icon for each choice
    • Removed the idea of a separate file about-me.en.yml and faq-me.en.yml - just edit the files
  • v1.1 : Many small improvements
    • Ability to add a participant directly from poll view
    • Hide Choice priority, this is purely internal data
    • Better ergonomy for choice reordering
    • Fixed the bug when creating a Poll/Comment/Participant/Event with only spaces
    • Fixed choice ordering in poll view
  • v1.0 : Added ability to add comments
  • v0.9 : Added ability to lock a poll
  • v0.8 : Added ability to add custom HTML above and below the poll
  • v0.7.1 : Critical fix for creating choices
  • v0.7 : Added access to past events
  • v0.6 : Added fixtures and images for examples
  • v0.5 : Added ability to reorder choices
  • v0.4 : Added ability to switch language English/French
  • v0.3.2 : Added time widget
  • v0.3 : Added deletion confirmation, autofocus, fixed poll deletion
  • v0.2 : Added contact page, default URL and choices for new polls
  • v0.1 : First (mostly) working release

TODO

  • Timezones ?
  • Sort participants alphabetically ?
  • Make a knpbundles readme
  • Code improvements (see Scrutinizer)

FUTURE (MAY BE) FEATURES

  • Descriptive placeholders
  • Put Glyphicons on every button, including standard "Save", "Cancel"...
  • For a Poll, customize "Total" color cell at certain thresholds
  • Notification subscriptions
  • Syndication
  • Aggregate/Anonymous mode, for events with lots of participants: the grid only displays total numbers, you can add yourself, then you get a personal link to modify/delete your participation
  • Integration with personal agendas (Google, Yahoo...)
  • Make a logo, a decent favicon

SensioLabsInsight knpbundles.com, (*17)

The Versions

24/02 2017

1.6.1

1.6.1.0 http://kyela.net

Participation polls for group events

  Sources   Download

AGPL-3.0

The Requires

 

by Arnaud Bienvenu

symfony event schedule poll participation

26/01 2017

1.6.0

1.6.0.0 http://kyela.net

Participation polls for group events

  Sources   Download

AGPL-3.0

The Requires

 

by Arnaud Bienvenu

symfony event schedule poll participation

15/01 2017

1.5.10

1.5.10.0 http://kyela.net

Participation polls for group events

  Sources   Download

AGPL-3.0

The Requires

 

by Arnaud Bienvenu

symfony event schedule poll participation

14/01 2017

1.5.9

1.5.9.0 http://kyela.net

Participation polls for group events

  Sources   Download

AGPL-3.0

The Requires

 

by Arnaud Bienvenu

symfony event schedule poll participation

14/01 2017

1.5.8

1.5.8.0 http://kyela.net

Participation polls for group events

  Sources   Download

AGPL-3.0

The Requires

 

by Arnaud Bienvenu

symfony event schedule poll participation

14/01 2017

v1.5.7

1.5.7.0 http://kyela.net

Participation polls for group events

  Sources   Download

AGPL-3.0

The Requires

 

by Arnaud Bienvenu

symfony event schedule poll participation

10/01 2017

1.5.6

1.5.6.0 http://kyela.net

Participation polls for group events

  Sources   Download

AGPL-3.0

The Requires

 

by Arnaud Bienvenu

symfony event schedule poll participation

09/01 2017

v1.5.5

1.5.5.0 http://kyela.net

Participation polls for group events

  Sources   Download

AGPL-3.0

The Requires

 

by Arnaud Bienvenu

symfony event schedule poll participation

04/01 2017

v1.5.4

1.5.4.0 http://kyela.net

Participation polls for group events

  Sources   Download

AGPL-3.0

The Requires

 

by Arnaud Bienvenu

symfony event schedule poll participation

03/01 2017

v1.5.3

1.5.3.0 http://kyela.net

Participation polls for group events

  Sources   Download

AGPL-3.0

The Requires

 

by Arnaud Bienvenu

symfony event schedule poll participation

02/01 2017

v1.5.2

1.5.2.0 http://kyela.net

Participation polls for group events

  Sources   Download

AGPL-3.0

The Requires

 

by Arnaud Bienvenu

symfony event schedule poll participation

02/01 2017

v1.5.1

1.5.1.0 http://kyela.net

Participation polls for group events

  Sources   Download

AGPL-3.0

The Requires

 

The Development Requires

by Arnaud Bienvenu

symfony event schedule poll participation

27/11 2016

v1.5.0

1.5.0.0 http://kyela.net

Participation polls for group events

  Sources   Download

AGPL-3.0

The Requires

 

The Development Requires

by Arnaud Bienvenu

symfony event schedule poll participation

19/10 2014

v1.4.1

1.4.1.0 http://kyela.net

Participation polls for group events

  Sources   Download

AGPL-3.0

The Requires

 

The Development Requires

by Arnaud Bienvenu

symfony event schedule poll participation

09/10 2014

1.3

1.3.0.0 http://kyela.net

Participation polls for group events

  Sources   Download

AGPL-3.0

The Requires

 

The Development Requires

by Arnaud Bienvenu

symfony event schedule poll participation

26/09 2014

1.1

1.1.0.0 http://kyela.net

Participation polls for group events

  Sources   Download

AGPL-3.0

The Requires

 

The Development Requires

by Arnaud Bienvenu

symfony event schedule poll participation

24/09 2014

1.0

1.0.0.0 http://kyela.net

Participation polls for group events

  Sources   Download

AGPL-3.0

The Requires

 

The Development Requires

by Arnaud Bienvenu

symfony event schedule poll participation

24/09 2014

0.9

0.9.0.0 http://kyela.net

Participation polls for group events

  Sources   Download

AGPL-3.0

The Requires

 

The Development Requires

by Arnaud Bienvenu

symfony event schedule poll participation

20/09 2014

0.7.1

0.7.1.0 http://kyela.net

Participation polls for group events

  Sources   Download

AGPL-3.0

The Requires

 

The Development Requires

by Arnaud Bienvenu

symfony event schedule poll participation

18/09 2014

0.7

0.7.0.0 http://kyela.net

Participation polls for group events

  Sources   Download

AGPL-3.0

The Requires

 

The Development Requires

by Arnaud Bienvenu

symfony event schedule poll participation