Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/schnoog/phpboilerplate
A boilerplate for php webapps, without the need to go object orientated for every single step (using f.e. smarty , gettext i18n , bootstrap 4 , jQuery Validation )
https://github.com/schnoog/phpboilerplate
bootstrap composer i18n mysql php php-applications php-boilerplate skeleton skeleton-application smarty-template-engine
Last synced: about 1 month ago
JSON representation
A boilerplate for php webapps, without the need to go object orientated for every single step (using f.e. smarty , gettext i18n , bootstrap 4 , jQuery Validation )
- Host: GitHub
- URL: https://github.com/schnoog/phpboilerplate
- Owner: schnoog
- License: mit
- Created: 2017-12-29T16:11:08.000Z (about 7 years ago)
- Default Branch: master
- Last Pushed: 2022-10-30T12:20:14.000Z (about 2 years ago)
- Last Synced: 2024-11-14T13:20:05.429Z (about 2 months ago)
- Topics: bootstrap, composer, i18n, mysql, php, php-applications, php-boilerplate, skeleton, skeleton-application, smarty-template-engine
- Language: JavaScript
- Homepage:
- Size: 3.29 MB
- Stars: 3
- Watchers: 3
- Forks: 1
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
# PHPBoilerPlate
## What's that?
A boilerplate for php webapps, without the need to go object orientated for every single step.### It includes
- User registration
- User management
- OAuth implementation
- Cookie and Session Management
- Multilanguage support (i18n, gettext. Supplied languages: en_GB & de_DE)
- XSS and CSRF protection
- Easy routing
- Input validation in jQuery and php (with an interface function)
- Growing documentation (within base installation)
- Page generation (you decide if the new created page is automatically created with an ajax backend)
- ACL for pages and navigation tree entries### The following libraries and plugins are used:
- delight-im/PHP-Auth -- PHP-Auth (https://github.com/delight-im/PHP-Auth |MIT License)
- phpmailer/phpmailer -- PHPMailer (https://github.com/phpmailer/phpmailer |GNU Lesser General Public License v2.1)
- sergeytsalkov/meekrodb/ -- MeekroDB (https://github.com/SergeyTsalkov/meekrodb/ |GNU Lesser General Public License v3.0)
- smarty/smarty -- Smarty Template Engine (https://github.com/smarty-php/smarty |GNU Lesser General Public License v2.1 (or later))
- Bootstrap4 -- Bootstrap 4 (https://getbootstrap.com |MIT license)
- bootstrap-4-multi-dropdown-navbar -- Bootstrap4 Multi Dropdown Navbar (https://github.com/bootstrapthemesco/bootstrap-4-multi-dropdown-navbar/ |GPL license)
- cookieconsent -- Cookie Consent (https://cookieconsent.insites.com |MIT License)
- nestable-fork -- Nestable (https://github.com/ozdemirburak/nestable-fork |BSD & MIT license)
- datatables -- DataTables Table plug-in for jQuery (https://datatables.net/ |MIT license)
- summernote/summernote -- wysiwyg rich text editor for Bootstrap (https://github.com/summernote/summernote/ |MIT License)
- anti-xss -- anti-xss (https://github.com/voku/anti-xss |MIT license)
- werx/validation -- werx/validation (https://github.com/werx/validation |MIT License)
- jQuery Form Validator -- formvalidator.net (http://www.formvalidator.net |MIT License)
- Hybridauth -- Hybridauth 3.0 (https://hybridauth.github.io |MIT License)
- fontawesome -- Font Awesome (http://fontawesome.io/ |MIT License & SIL OFL 1.1)## Requirements
- A webserver capable to run php (with intl extension, PHP 7.1+, PDO extension , OpenSSL extension)
- A MySQL database server (MySQL 5.5.3+ or MariaDB 5.5.23+)
- To use internationalisation, you may need to run locale-gen on your linux server
- composer## Prerequisites
- You need the login data to an empty mysql database
- You need the login data to an email server## Installation
The installation directory should not be web accessible. Only the public folder needs to be web readable.I suggest to install this boilerplate over composer.
This will ensure random salts are defined for the hashing functions.### Install with composer
To install the boilerplate, run this within the target directory
```
composer create-project schnoog/boilerplate . dev-master
```
or set a target directory
```
composer create-project schnoog/boilerplate targetdir dev-master
```
### Installation with git or Download
- Open the console and change the directory to the target directory, where you want to create the checkout#### Get the files
```
git clone https://github.com/schnoog/PHPBoilerPlate.git .
```
or download the package and unzip it
```
https://github.com/schnoog/PHPBoilerPlate/archive/master.zip
```
#### Create the configuration
This can be done by a little helper script
```
php ./appconsole create
```
or by hand
copy the distributed example
```
cp app/config/main_config.php.dist app/config/main_config.php
```
replace SECSALT1 and SECSALT2 with random strings by hand.## Configuration
Please adjust the settings in
```
app/config/main_config.php
```
to match your needings.
## Initialization
Now you need to populate the database.
This can be done by a little helper script
```
php ./appconsole db
```
or by importing each NUM_xxxx.sql file within app/SETUP/
(starting from 001_....)
```
mysql DATABASE < app/SETUP/001_UserTables.sql
mysql DATABASE < app/SETUP/002_PageStructure.sql
...
...
```## Done
You should now be able to access the system.
The administrator login is
Username: **[email protected]**
Password: **1234abcd**## Updates
I suggest to use the "php ./appconsole db" to install and update the database.
This will set a database version tag to be able to update the database without dataloss in later releases.