Skip to content
This repository has been archived by the owner on Mar 6, 2024. It is now read-only.
/ nuancier Public archive

A light web application for voting on supplementary wallpapers of Fedora

License

Notifications You must be signed in to change notification settings

fedora-infra/nuancier

Repository files navigation

nuancier

http://shieldkins.elrod.me/fedora/nuancier

Author:Pierre-Yves Chibon <[email protected]>

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+.