Giter Site home page Giter Site logo

wikimedia-iegreview's Introduction

Wikimedia Grants Review

Review grant applications.

System Requirements

  • PHP >= 5.3.7

Setup

Sample Apache .htaccess file

<IfModule mod_rewrite.c>
RewriteEngine On
RewriteBase /
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule .* index.php/$0 [L,PT]
</IfModule>

Configuration

The application follows the Twelve-Factor App configuration principle of configuration via environment variables. The following variables are expected to be provided:

  • DB_DSN = PDO DSN
  • DB_USER = PDO username
  • DB_PASS = PDO password

The following variables can be optionally provided:

  • LOG_FILE = fopen()-compatible filename or stream URI (default: php://stderr)
  • LOG_LEVEL = PSR-3 logging level (default: notice)
  • SMTP_HOST = SMTP mail server (default: localhost)
  • CACHE_DIR = Directory to cache twig templates (default: data/cache)

Apache

SetEnv DB_DSN mysql:host=localhost;dbname=scholarships;charset=utf8
SetEnv DB_USER my_database_user
SetEnv DB_PASS "super secret password"

.env file

For environments where container based configuration isn't possible or desired, a .env file can be placed in the root of the project. This file will be parsed using PHP's parse_ini_file() function and the resulting settings will be injected into the application environment.

DB_DSN="mysql:host=localhost;dbname=scholarships;charset=utf8"
DB_USER=my_database_user
DB_PASS="super secret password"
APPLICATION_OPEN=2013-01-01T00:00:00Z
APPLICATION_CLOSE=2013-02-01T00:00:00Z
MOCK=1

Hacking

Code review process is done through Gerrit. Please register a developer account to contribute.

Phabricator is used to track issues. To understand the workflow of the application refer to this doc.

We manage PHP dependencies using Composer. This git repository includes the Composer managed resources that are needed for deployment on the Wikimedia Foundation production servers.

For local testing you will need to install several additional development-only libraries:

composer install

Once the testing libraries are installed you can run tests with this command:

composer test

When submitting a patch for review you must ensure that your locally installed testing libraries have been removed:

composer install --no-dev
composer dump-autoload --no-dev

A typical git commit should not include any changes to composer.lock or files in the vendor directory. These files should only be updated when a new runtime dependency is added or when the exact versions of the testing libraries are updated.

Authors

  • Bryan Davis, Wikimedia Foundation
  • Niharika Kohli, Wikimedia Foundation

Based on code developed for the Wikimania Scholarships application.

License

GNU GPL 3.0

wikimedia-iegreview's People

Contributors

20after4 avatar aklapper avatar bd808 avatar hashar avatar legoktm avatar marcoaureliowm avatar niharika29 avatar nj4710 avatar reedy avatar sbassett29 avatar subbuss avatar thcipriani avatar translatewiki avatar

Stargazers

 avatar

Watchers

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