nuancier

Created by pingou 9 months ago
A light web application for voting on supplementary wallpapers of Fedora  |  https://apps.fedoraproject.org/nuancier/
Members 1
Pierre-Yves Chibon committed 9 months ago

nuancier

/nuancier/raw/master/f/http://shieldkins.elrod.me/fedora/nuancier
Author:Pierre-Yves Chibon <pingou@pingoured.fr>

Nuancier is a web-based voting application for the supplementary wallpapers of Fedora.

Get this project:

On github: https://github.com/fedora-infra/nuancier

Documentation: http://nuancier.rtfd.org

Dependencies:

This project is a Flask application. The calendars and meetings are stored into a relational database using SQLAlchemy as Object Relational Mapper (ORM). The application relies on Pillow to generate thumbnails of the pictures in order to increase the loading speed of the pages.

The dependency list is therefore:

Running a development instance:

You can either set up a development environment manually, or using Ansible with Vagrant.

Vagrant

The best way to set up a development enviroment is to use Vagrant. Vagrant provisions a new virtual machine and then runs the Ansible playbook on it automatically. To get started, install Vagrant:

$ sudo dnf install vagrant libvirt vagrant-libvirt vagrant-sshfs ansible

Next, clone the repository and copy the example Vagrantfile from Vagrantfile.example:

$ git clone https://github.com/fedora-infra/nuancier.git
$ cd nuancier
$ cp Vagrantfile.example Vagrantfile  # Edit Vagrantfile to your heart's content
$ vagrant up
$ vagrant reload
$ vagrant ssh

All done! The VM contains all the required dependencies pre-installed.

Manual

Clone the source:

git clone https://github.com/fedora-infra/nuancier.git

Create the database scheme:

python createdb.py

Run the server:

python runserver.py

You should be able to access the server at http://localhost:5000

Note

To tweak the configuration, you may either change default_config.py in the nuancier module, or copy the file utility/nuancier.cfg.sample into nuancier.cfg and run the application using:

NUANCIER_CONFIG=nuancier.cfg python runserver.py

Testing:

This project contains unit-tests allowing you to check if your server has all the dependencies correctly set.

To run them:

./runtests.sh

Note

To stop the test at the first error or failure you can try:

./runtests.sh -x

License:

This project is licensed GPLv2+.