<commit_before>![Nova Framework](http://novaframework.com/app/templates/publicthemes/nova/images/nova.png)

# Nova Framework v3.0

[![Total Downloads](https://img.shields.io/packagist/dt/simple-mvc-framework/v2.svg)](https://packagist.org/packages/simple-mvc-framework/v2)
[![Dependency Status](https://www.versioneye.com/user/projects/554367f738331321e2000005/badge.svg)](https://www.versioneye.com/user/projects/554367f738331321e2000005)
[![GitHub license](https://img.shields.io/badge/license-MIT-blue.svg)](https://raw.githubusercontent.com/simple-mvc-framework/v2/master/license.txt)
[![GitHub stars](https://img.shields.io/github/stars/simple-mvc-framework/framework.svg)](https://github.com/simple-mvc-framework/framework/stargazers)
[![GitHub forks](https://img.shields.io/github/forks/simple-mvc-framework/framework.svg)](https://github.com/simple-mvc-framework/framework/network)

[![Join the chat at https://gitter.im/simple-mvc-framework/framework](https://img.shields.io/gitter/room/nwjs/nw.js.svg)](https://gitter.im/simple-mvc-framework/framework?utm_source=badge&utm_medium=badge&utm_campaign=pr-badge&utm_content=badge)

- [What is the Nova Framework?](what-is-the-nova-framework)
- [Requirements](requirements)
- [Installation](installation)
    - [Recommended](recommended)
    - [Manual](manual)
- [Documentation](documentation)
- [Contributing](contributing)
    - [Issue Tracker](issue-tracker)
    - [Pull Requests](pull-requests)
    - [Code Style](code-style)
- [License](license)

## What is the Nova Framework?

Nova Framework is a PHP 5.5 MVC system. It's designed to be lightweight and modular, allowing developers to build better and easy to maintain code with PHP.

The base framework comes with a range of [helper classes](https://github.com/nova-framework/framework/tree/master/system/Helpers).

## Requirements

**The framework requirements are limited.**

- PHP 5.5 or greater.
- Apache Web Server or equivalent with mod rewrite support.
- IIS with URL Rewrite module installed - [http://www.iis.net/downloads/microsoft/url-rewrite](http://www.iis.net/downloads/microsoft/url-rewrite)

**The following PHP extensions should be enabled:**

- Fileinfo (edit php.ini and uncomment php_fileinfo.dll or use php selector within cpanel if available.)
- OpenSSL
- INTL

> **Note:** Although a database is not required, if a database is to be used, the system is designed to work with a MySQL database using PDO.

## Installation

#### Recommended
The framework is located on [Packagist](https://packagist.org/packages/nova-framework/framework).

You can install the framework from a terminal by using:

```
composer create-project nova-framework/framework foldername -s dev
```

The foldername is the desired folder to be created.

#### Manual

##### Option 1 - Files above document root. (Recommended)

- Place the contents of `public` into your public folder (`.htaccess` and `index.php`)
- Navigate to your project in a terminal and type `composer install` to initiate the composer installation.
- Edit `public/.htaccess` to set the rewritebase if running on a sub folder, otherwise a single `/` will do.
- Edit `app/Config.example.php` and change the `SITEURL` and `DIR` constants. The `DIR` path is relative to the project url for example `/` for on the root or `/foldername/` when in a folder. Also change other options as desired. Rename file to `Config.php`
- Set a 32 character `ENCRYPT_KEY` by using the CLI tool. You can do this by typing `php nova make:key` in your command line / console. Alternatively, you can use the following tool: http://jeffreybarke.net/tools/codeigniter-encryption-key-generator/

##### Option 2 - Everything inside your public folder.

- Place all files inside your public folder
- Navigate to your project in a terminal and type `composer install` to initiate the composer installation.
- Open `index.php` and change the paths from using `DIR` to `FILE`:
```php
define('APPDIR', realpath(__DIR__.'/app/').'/');
define('SYSTEMDIR', realpath(__DIR__.'/system/').'/');
define('PUBLICDIR', realpath(__DIR__).'/');
define('ROOTDIR', realpath(__DIR__).'/');
```
- Edit `public/.htaccess` to set the rewritebase if running on a sub folder, otherwise a single `/` will do.
- Edit `app/Config.example.php` and change the `SITEURL` and `DIR` constants. The `DIR` path is relative to the project url for example `/` for on the root or `/foldername/` when in a folder. Also change other options as desired. Rename file to `Config.php`
- Set a 32 character `ENCRYPT_KEY` by using the CLI tool. You can do this by typing `php nova make:key` in your command line / console. Alternatively, you can use the following tool: http://jeffreybarke.net/tools/codeigniter-encryption-key-generator/

> **Note:** For additional installation instructions, for example; setting up a Virtualhost (Recommended for Local Development), Nginx or IIS with URL Rewrite, [please visit the Github Wiki](https://github.com/nova-framework/framework/wiki/Install).

## Documentation
<commit_msg>Removed sub directory installation and fixed links.<commit_after>![Nova Framework](http://novaframework.com/app/templates/publicthemes/nova/images/nova.png)

# Nova Framework v3.0

[![Total Downloads](https://img.shields.io/packagist/dt/simple-mvc-framework/v2.svg)](https://packagist.org/packages/simple-mvc-framework/v2)
[![Dependency Status](https://www.versioneye.com/user/projects/554367f738331321e2000005/badge.svg)](https://www.versioneye.com/user/projects/554367f738331321e2000005)
[![GitHub license](https://img.shields.io/badge/license-MIT-blue.svg)](https://raw.githubusercontent.com/simple-mvc-framework/v2/master/license.txt)
[![GitHub stars](https://img.shields.io/github/stars/simple-mvc-framework/framework.svg)](https://github.com/simple-mvc-framework/framework/stargazers)
[![GitHub forks](https://img.shields.io/github/forks/simple-mvc-framework/framework.svg)](https://github.com/simple-mvc-framework/framework/network)

[![Join the chat at https://gitter.im/simple-mvc-framework/framework](https://img.shields.io/gitter/room/nwjs/nw.js.svg)](https://gitter.im/simple-mvc-framework/framework?utm_source=badge&utm_medium=badge&utm_campaign=pr-badge&utm_content=badge)

- [What is the Nova Framework?](#what-is-the-nova-framework)
- [Requirements](#requirements)
- [Installation](#installation)
    - [Recommended](#recommended)
    - [Manual](#manual)
- [Documentation](#documentation)
- [Contributing](#contributing)
    - [Issue Tracker](#issue-tracker)
    - [Pull Requests](#pull-requests)
    - [Code Style](#code-style)
- [License](#license)

## What is the Nova Framework?

Nova Framework is a PHP 5.5 MVC system. It's designed to be lightweight and modular, allowing developers to build better and easy to maintain code with PHP.

The base framework comes with a range of [helper classes](https://github.com/nova-framework/framework/tree/master/system/Helpers).

## Requirements

**The framework requirements are limited.**

- PHP 5.5 or greater.
- Apache Web Server or equivalent with mod rewrite support.
- IIS with URL Rewrite module installed - [http://www.iis.net/downloads/microsoft/url-rewrite](http://www.iis.net/downloads/microsoft/url-rewrite)

**The following PHP extensions should be enabled:**

- Fileinfo (edit php.ini and uncomment php_fileinfo.dll or use php selector within cpanel if available.)
- OpenSSL
- INTL

> **Note:** Although a database is not required, if a database is to be used, the system is designed to work with a MySQL database using PDO.

## Installation

#### Recommended
The framework is located on [Packagist](https://packagist.org/packages/nova-framework/framework).

You can install the framework from a terminal by using:

```
composer create-project nova-framework/framework foldername -s dev
```

The foldername is the desired folder to be created.

#### Manual

- Place the contents of `public` into your public folder (`.htaccess` and `index.php`)
- Navigate to your project in a terminal and type `composer install` to initiate the composer installation.
- Edit `public/.htaccess` to set the rewritebase if running on a sub folder, otherwise a single `/` will do.
- Edit `app/Config.example.php` and change the `SITEURL` and `DIR` constants. The `DIR` path is relative to the project url for example `/` for on the root or `/foldername/` when in a folder. Also change other options as desired. Rename file to `Config.php`
- Set a 32 character `ENCRYPT_KEY` by using the CLI tool. You can do this by typing `php nova make:key` in your command line / console. Alternatively, you can use the following tool: http://jeffreybarke.net/tools/codeigniter-encryption-key-generator/

> **Note:** For additional installation instructions, for example; setting up a Virtualhost (Recommended for Local Development), Nginx or IIS with URL Rewrite, [please visit the Github Wiki](https://github.com/nova-framework/framework/wiki/Install).

## Documentation

{'fraction_non_alphanumeric': 0.12846911369740377, 'fraction_numerical': 0.012757385854968667, 'mean_word_length': 4.791963707064161, 'pattern_counts': {'":': 0, '<': 3, '<?xml version=': 0, '>': 7, 'https://': 32, 'lorem ipsum': 0, 'www.': 8, 'xml': 0}, 'pii_count': 0, 'substrings_counts': 0, 'word_list_counts': {'cursed_substrings.json': 8, 'profanity_word_list.json': 0, 'sexual_word_list.json': 0, 'zh_pornsignals.json': 0}}
{'dir': 'git-commits-cleaned', 'id': '2287671', 'n_tokens_mistral': 2878, 'n_tokens_neox': 2660, 'n_words': 818}