GithubHelp home page GithubHelp logo

nottrobin / ovc-vdm Goto Github PK

View Code? Open in Web Editor NEW

This project forked from opennorth/ovc-vdm

0.0 1.0 0.0 5.6 MB

Outil de visualisation des contrats. Tool to visualize contract data + Open contracting-based API

License: BSD 3-Clause "New" or "Revised" License

Python 15.59% Mako 0.06% Shell 0.02% HTML 6.46% Ruby 0.13% CSS 12.90% JavaScript 64.85%

ovc-vdm's Introduction

Build Status

#Outil de visualisation des contracts (OVC) réalisé pour la Ville de Montréal

L'OVC consolide les fichiers de contrats et de subventions de la Ville de Montréal hébergés sur le portail de données ouvertes pour produire:

  • Une interface programmable (API) conforme au format Open Contracting Data Standard et permettant de trier les données selon différents paramètres
  • Une visualisation des données permettant de lister et d'exporter les contrats et subventions. L'interface web obtient les données en se connectant à l'API.

##Prérequis

L'API repose sur les technologies suivantes:

  • Python 2.7 ou supérieur
  • Postgresql 9.3 ou supérieur

Le code a été développé en utilisant le mini-système python Flask. Flask ainsi que l'ensemble des autres librairies nécessaires sont contenues dans le fichier requirements.txt.

Le projet a été développé en vue d'être déployé sur la plateforme Heroku et suit les standards suggéré pour cette plateforme. Cela étant dit, il est possible d'executer le présent code sur n'importe quelle configuration respectant les prérequis ci-dessus; il sera toutefois nécessaire d'ajouter un WSGI tel que uWSGI pour lier le code python à un serveur web comme Apache ou Nginx.

Documentation de l'API

Le fonctionnement de l'API est documenté ici

##Installation

Il est recommandé d'executer les commandes ci-dessous à l'intérieur d'un environnement virtuel à l'aide de virtualenv/virtualenvwrapper.

Par exemple

virtualenv /path/to/project
source /path/to/project/bin/activate

###Installer le code et les librairies

Cloner le présent dépôt et installer les librairies requises:

git clone https://github.com/opennorth/ovc-vdm.git
cd ovc-vdm
pip install -r requirements.txt

###Variables d'environnement

Positionner les variables d'environnement, par exemple dans le script de postactivate de virtualenvwrapper. Les variables à positionner sont les suivantes:

export APP_SETTINGS="config.DevelopmentConfig"
export DATABASE_URL="postgresql://host/dbname"
export EMAIL_CREDENTIALS="user@password"

APP_SETTING spécifie si l'application fonctionne en mode développement ou test (mode 'debug' activé) ou préproduction ou production (mode 'debug' désactivé). Les différents modes sont configurés dans le fichier config.py.

EMAIL_CREDENTIAL est utilisé pour générer des courriels d'alerte via la plateforme SendGrid.

###Initialiser la base de données

python manage.py db init
python manage.py db upgrade

Maintenant la base de données contient les tables nécessaires pour fonctionner.

###Remplir les tables

python manage.py update_sources
python manage.py update_releases

La première commande insère dans la base de données les sources de données tandis que la seconde récupère les fichiers et insère les contrats/releases dans la base de données. La seconde étape peut prendre un certain temps (une trentaine de minutes).

###Lancer l'application

Pour lancer l'application en mode développement, il suffit d'utiliser la commande suivntes:

python app.py

Pour utiliser l'application en mode production, il est nécessaire de la lancer en utilisant un WSGI Python. Pour fonctionner sur la plateforme Heroku, le fichier procfile est déjà en place.

###Executer les tests

L'application utilise nose réaliser des tests unitaires:

./run_test.sh

ovc-vdm's People

Contributors

hoedic avatar

Watchers

 avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.