<commit_before>![alt text](http://halusanation.com/wp-content/uploads/2014/12/php_skeleton_app.jpg "The PHP Skeleton App Header Image")

# The PHP Skeleton App

The PHP Skeleton App creates an object-oriented PHP MVC environment, tailored for rapid development. The environment makes use of the [Slim PHP micro framework](http://slimframework.com/), [Twig](http://twig.sensiolabs.org/) for templating, and [Twitter Bootstrap 3](http://getbootstrap.com/) for the theme.

Out of the box, it provides the ability to set up and run a public-facing website, authenticate to the administrative side, and create users and groups. All of the baseline database tables are created on first run, along with the first "Universal Administrator".

## Features

* **Quick 5-minute installation**

* **Simple configuration**

* **Easy templating with custom views using Twig**

* **Twitter Bootstrap 3.3.x**

    "Carousel" template included for the public website

    "Dashboard" template included for the administrative interface

* **Site Module**

    The public site

* **Authenticate Module**

    With local authentication, out-of-the-box. Oauth schemes coming soon (e.g. Twitter, Google, Facebook, Github).

* **User Account Module**

    For user management, complete with a self-registration form and the ability to reset forgotten passwords.

* **Group Module**

    Assign users to groups for greater control over permissions

* **Dashboard Module**

    Default landing page for the administrative side

* **More coming soon...**

## Requirements (LAMP)

*These requirements are what I have found to be true. It's likely that I may have missed something along the way. If so, please let me know.*

##### Linux
* So far, only tested on Linux Ubuntu 14.04 (trusty)

##### Apache
* Modules: alias, autoindex, deflate, dir, env, headers, mime, mime_magic, negotiation, php5, reqtimeout, rewrite, setenvif, status

##### MySQL

##### PHP >= 5.3
* Extensions: PDO, pdo_mysql, mysql, php5-curl, php5-mcrypt, php5-json

##### Git

##### Composer

#### Environment Check

To check to see if you have all of the necessary components in place, you can run the "Environment Check" script:

```bash
http://YOUR_DOMAIN/webapp_installer/library/env.php
```

* * *

## Get Started

### Install the PHP Skeleton

#### Clone the Repository Into the Web Root

For example: */var/www/*

The web root directory **must be completely empty.**

```bash
git clone https://github.com/ghalusa/PHP-Skeleton-App.git /PATH/TO/YOUR_EMPTY_WEB_ROOT_DIRECTORY/
```

#### Run Composer (non global installation)

```bash
php composer.phar install
```

#### OR... Run Composer (global installation)

```bash
composer install
```

#### Make Sure Apache Has Permissions to Do Stuff
*(This can be changed back after the installation is finished.)*

```bash
sudo chown -R www-data:www-data /var/www
```

## Run the Web App Installer

##### Point your browser to the root of your web environment...

```bash
http://YOUR_DOMAIN/
```

##### Fill Out the Form

You will need:

* A valid email address for the creation of the administrative account.
* The location, username, and password of a MySQL database.

* * *

## Documentation

* Coming soon... <URL_HERE>

## About the Author

The PHP Skeleton App is created and maintained by [<NAME>](http://halusanation.com/), a Web Architect, artist, musician, and chef.

### Twitter

Follow [@goranhalusa](http://www.twitter.com/goranhalusa) on Twitter to receive the very latest news and updates about The PHP Skeleton App.

### Disclaimer

The PHP Skeleton App is in active development, and test coverage is continually improving.

* * *

## Open Source License

The PHP Skeleton App is released under the MIT public license.
<commit_msg>Updated README: Added the "Acknowledgements" section. "Getting Started" section is now divided into 4 parts, and labeled accordingly.<commit_after>![alt text](http://halusanation.com/wp-content/uploads/2014/12/php_skeleton_app.jpg "The PHP Skeleton App Header Image")

# The PHP Skeleton App

The PHP Skeleton App creates an object-oriented PHP MVC environment, tailored for rapid development. The environment makes use of the [Slim PHP micro framework](http://slimframework.com/), [Twig](http://twig.sensiolabs.org/) for templating, and [Twitter Bootstrap 3](http://getbootstrap.com/) for the theme.

Out of the box, it provides the ability to set up and run a public-facing website, authenticate to the administrative side, and create users and groups. All of the baseline database tables are created on first run, along with the first "Universal Administrator".

* * *

## Features

* **Quick 5-minute installation**

* **Simple configuration**

* **Easy templating with custom views using Twig**

* **Twitter Bootstrap 3.3.x**

    "Carousel" template included for the public website

    "Dashboard" template included for the administrative interface

* **Site Module**

    The public site

* **Authenticate Module**

    With local authentication, out-of-the-box. Oauth schemes coming soon (e.g. Twitter, Google, Facebook, Github).

* **User Account Module**

    For user management, complete with a self-registration form and the ability to reset forgotten passwords.

* **Group Module**

    Assign users to groups for greater control over permissions

* **Dashboard Module**

    Default landing page for the administrative side

* **More coming soon...**

* * *

## Requirements (LAMP)

*These requirements are what I have found to be true. It's likely that I may have missed something along the way. If so, please let me know.*

##### Linux
* So far, only tested on Linux Ubuntu 14.04 (trusty)

##### Apache
* Modules: alias, autoindex, deflate, dir, env, headers, mime, mime_magic, negotiation, php5, reqtimeout, rewrite, setenvif, status

##### MySQL

##### PHP >= 5.3
* Extensions: PDO, pdo_mysql, mysql, php5-curl, php5-mcrypt, php5-json

##### Git

##### Composer

#### Environment Check

To check to see if you have all of the necessary components in place, you can run the "Environment Check" script:

```bash
http://YOUR_DOMAIN/webapp_installer/library/env.php
```

* * *

## Getting Started

### STEP 1

#### Clone the Repository Into the Web Root

For example: */var/www/*

**Note: The web root directory must be completely empty.**

```bash
git clone https://github.com/ghalusa/PHP-Skeleton-App.git /PATH/TO/YOUR_EMPTY_WEB_ROOT_DIRECTORY/
```

### STEP 2

#### Run Composer (non global installation)

```bash
php composer.phar install
```

#### OR... Run Composer (global installation)

```bash
composer install
```

### STEP 3

#### First, Make Sure Apache Has Permissions to Do Stuff
*(This can be changed back after the installation is finished.)*

```bash
sudo chown -R www-data:www-data /PATH/TO/YOUR_EMPTY_WEB_ROOT_DIRECTORY/
```

### STEP 4

#### Run the Web App Installer...

##### Point your browser to the root of your web environment...

```bash
http://YOUR_DOMAIN/
```

##### ... And Fill Out the Form

You will need:

* A valid email address for the creation of the administrative account.
* The location, username, and password of a MySQL database.

#### That's It!

At this point, you should have successfully spawned a complete "PHP Skeleton App". Dig in, and start adding your own "Modules"!

* * *

## Documentation

* Coming soon... <URL_HERE>

## About the Author

The PHP Skeleton App is created and maintained by [<NAME>](http://halusanation.com/), a Web Architect, artist, musician, and chef.

### Twitter

Follow [@goranhalusa](http://www.twitter.com/goranhalusa) on Twitter to receive the very latest news and updates about The PHP Skeleton App.

### Acknowledgements

* [PHP Weekly](http://phpweekly.com/): Thanks for including The PHP Skeleton App in your weekly email!

### Disclaimer

The PHP Skeleton App is in active development, and test coverage is continually improving.

* * *

## Open Source License

The PHP Skeleton App is released under the MIT public license.

{'fraction_non_alphanumeric': 0.11252040688182846, 'fraction_numerical': 0.005651136506341831, 'mean_word_length': 4.229152987524622, 'pattern_counts': {'":': 0, '<': 7, '<?xml version=': 0, '>': 9, 'https://': 2, 'lorem ipsum': 0, 'www.': 8, 'xml': 0}, 'pii_count': 0, 'substrings_counts': 0, 'word_list_counts': {'cursed_substrings.json': 2, 'profanity_word_list.json': 0, 'sexual_word_list.json': 0, 'zh_pornsignals.json': 0}}
{'dir': 'git-commits-cleaned', 'id': '4680594', 'n_tokens_mistral': 2433, 'n_tokens_neox': 2241, 'n_words': 975}