<commit_before># [![OpenCFP Banner](docs/img/banner.png)](https://github.com/opencfp/opencfp)

OpenCFP is a PHP-based conference talk submission system.

---
[![Build Status](https://travis-ci.org/opencfp/opencfp.svg?branch=master)](https://travis-ci.org/opencfp/opencfp)
[![Code Climate](https://codeclimate.com/github/opencfp/opencfp/badges/gpa.svg)](https://codeclimate.com/github/opencfp/opencfp)
[![Test Coverage](https://codeclimate.com/github/opencfp/opencfp/badges/coverage.svg)](https://codeclimate.com/github/opencfp/opencfp)

## README Contents

 * [Features](#features)
 * [Screenshots](#screenshots)
 * [Contributing](#contributing)
 * [Requirements](#requirements)
 * [Installation](#installation)
   * [Cloning the Repository](#cloning-the-repository)
   * [Specify Environment](#specify-environment)
   * [Installing Composer Dependencies](#installing-composer-dependencies)
   * [PHP Built-in Web Server](#php-built-in-web-server)
   * [Create a Database](#create-a-database)
   * [Configure Environment](#configure-environment)
   * [Run Migrations](#run-migrations)
   * [Final Touches](#final-touches)
 * [JSON API](#json-api)
   * [Configuration](#json-api-configuration)
   * [Authorization](#json-api-authorization)
   * [Endpoints](#json-api-endpoints)
   * [Using the API](#json-api-usage)
 * [Command-line Utilities](#command-line-utilities)
   * [Admin Group Management](#admin-group-management)
   * [User Management](#user-management)
   * [Clear Caches](#clear-caches)
   * [Scripts to Rule Them All](#scripts-rule-all)
 * [Testing](#testing)
 * [Troubleshooting](#troubleshooting)

<a name="features" />
## Features

 * Speaker registration system that gathers contact information.
 * Dashboard that allows speakers to submit talk proposals and manage their profile.
 * Administrative dashboard for reviewing submitted talks and making selections.
 * Command-line utilities for administering the system.
 * JSON-API for selected use-cases. (Coming Soon!)

<a name="screenshots" />
## Screenshots
![Front page](http://i.imgur.com/GDhX1lD.png)
![Login screen](http://i.imgur.com/VfNNch9.png)
![Speaker page](http://i.imgur.com/uw1qmbS.png)
![Talk page](http://i.imgur.com/pSreRoM.png)
![Admin area](http://i.imgur.com/1Vmnwbv.png)
![Admin talk review](http://i.imgur.com/3IRXDMg.png)
![Admin speaker details](http://i.imgur.com/3oSXzGQ.png)
![Admin talks dashboard](http://i.imgur.com/6Uu0OZu.png)

<a name="contributing" />
## Contributing

We welcome and love contributions! To facilitate receiving updates to OpenCFP, we encourage you to create a new
personal branch after you fork this repository. This branch should be used for content and changes that are specific
to your event. However, anything you are willing to push back should be updated in your master branch. This will help
keep the master branch generic for future event organizers that choose to use the system. You would then be able to
merge master to your private branch and get updates when desired!


<a name="requirements" />
## Requirements

 * PHP 7.0+
 * Apache 2+ with `mod_rewrite` enabled and an `AllowOverride all` directive in your `<Directory>` block is the recommended web server
 * Composer requirements are listed in [composer.json](composer.json).
 * You may need to install `php7.0-intl` extension for PHP. (`php-intl` on CentOS/RHEL-based distributions)

<a name="installation" />
## Installation

<a name="cloning-the-repository" />
### Cloning the Repository

Clone this project into your working directory.

Example:

```
$ git clone <EMAIL>@github.com:opencfp/opencfp.git
Cloning into 'opencfp'...
remote: Counting objects: 4794, done.
remote: Total 4794 (delta 0), reused 0 (delta 0)
Receiving objects: 100% (4794/4794), 1.59 MiB | 10.37 MiB/s, done.
Resolving deltas: 100% (2314/2314), done.<commit_msg>Installation details<commit_after># [![OpenCFP Banner](docs/img/banner.png)](https://github.com/opencfp/opencfp)

OpenCFP is a PHP-based conference talk submission system.

---
[![Build Status](https://travis-ci.org/opencfp/opencfp.svg?branch=master)](https://travis-ci.org/opencfp/opencfp)
[![Code Climate](https://codeclimate.com/github/opencfp/opencfp/badges/gpa.svg)](https://codeclimate.com/github/opencfp/opencfp)
[![Test Coverage](https://codeclimate.com/github/opencfp/opencfp/badges/coverage.svg)](https://codeclimate.com/github/opencfp/opencfp)

## README Contents

 * [Features](#features)
 * [Screenshots](#screenshots)
 * [Contributing](#contributing)
 * [Requirements](#requirements)
 * [Installation](#installation)
   * [Cloning the Repository](#cloning-the-repository)
   * [Specify Environment](#specify-environment)
   * [Installing Composer Dependencies](#installing-composer-dependencies)
   * [PHP Built-in Web Server](#php-built-in-web-server)
   * [Create a Database](#create-a-database)
   * [Configure Environment](#configure-environment)
   * [Run Migrations](#run-migrations)
   * [Final Touches](#final-touches)
 * [JSON API](#json-api)
   * [Configuration](#json-api-configuration)
   * [Authorization](#json-api-authorization)
   * [Endpoints](#json-api-endpoints)
   * [Using the API](#json-api-usage)
 * [Command-line Utilities](#command-line-utilities)
   * [Admin Group Management](#admin-group-management)
   * [User Management](#user-management)
   * [Clear Caches](#clear-caches)
   * [Scripts to Rule Them All](#scripts-rule-all)
 * [Testing](#testing)
 * [Troubleshooting](#troubleshooting)

<a name="features" />
## Features

 * Speaker registration system that gathers contact information.
 * Dashboard that allows speakers to submit talk proposals and manage their profile.
 * Administrative dashboard for reviewing submitted talks and making selections.
 * Command-line utilities for administering the system.
 * JSON-API for selected use-cases. (Coming Soon!)

<a name="screenshots" />
## Screenshots
![Front page](http://i.imgur.com/GDhX1lD.png)
![Login screen](http://i.imgur.com/VfNNch9.png)
![Speaker page](http://i.imgur.com/uw1qmbS.png)
![Talk page](http://i.imgur.com/pSreRoM.png)
![Admin area](http://i.imgur.com/1Vmnwbv.png)
![Admin talk review](http://i.imgur.com/3IRXDMg.png)
![Admin speaker details](http://i.imgur.com/3oSXzGQ.png)
![Admin talks dashboard](http://i.imgur.com/6Uu0OZu.png)

<a name="contributing" />
## Contributing

We welcome and love contributions! To facilitate receiving updates to OpenCFP, we encourage you to create a new
personal branch after you fork this repository. This branch should be used for content and changes that are specific
to your event. However, anything you are willing to push back should be updated in your master branch. This will help
keep the master branch generic for future event organizers that choose to use the system. You would then be able to
merge master to your private branch and get updates when desired!


<a name="requirements" />
## Requirements

 * PHP 7.0+
 * Apache 2+ with `mod_rewrite` enabled and an `AllowOverride all` directive in your `<Directory>` block is the recommended web server
 * Composer requirements are listed in [composer.json](composer.json).
 * You may need to install `php7.0-intl` extension for PHP. (`php-intl` on CentOS/RHEL-based distributions)

<a name="installation" />
## Installation

<a name="cloning-the-repository" />
### Grab Latest Release

It is recommended for you to always install the latest marked release. Go to `https://github.com/opencfp/opencfp/releases` to download it.

### Cloning the Repository

Clone this project into your working directory. We recommend always running the `master` branch as it was frequent contributions.

Example:

```
$ git clone <EMAIL>:opencfp/opencfp.git
Cloning into 'opencfp'...
remote: Counting objects: 4794, done.
remote: Total 4794 (delta 0), reused 0 (delta 0)
Receiving objects: 100% (4794/4794), 1.59 MiB | 10.37 MiB/s, done.
Resolving deltas: 100% (2314/2314), done.
{'fraction_non_alphanumeric': 0.13920202659911338, 'fraction_numerical': 0.013426219126029133, 'mean_word_length': 5.0, 'pattern_counts': {'":': 0, '<': 19, '<?xml version=': 0, '>': 19, 'https://': 15, 'lorem ipsum': 0, 'www.': 0, 'xml': 0}, 'pii_count': 0, 'substrings_counts': 0, 'word_list_counts': {'cursed_substrings.json': 1, 'profanity_word_list.json': 0, 'sexual_word_list.json': 0, 'zh_pornsignals.json': 0}}
{'dir': 'git-commits-cleaned', 'id': '4274927', 'n_tokens_mistral': 2644, 'n_tokens_neox': 2466, 'n_words': 673}