{"id":13657799,"url":"https://github.com/ivantcholakov/starter-public-edition-4","last_synced_at":"2025-04-12T21:33:53.467Z","repository":{"id":37549280,"uuid":"14352668","full_name":"ivantcholakov/starter-public-edition-4","owner":"ivantcholakov","description":"A PHP application starter, based on CodeIgniter 3","archived":false,"fork":false,"pushed_at":"2025-04-03T06:28:55.000Z","size":115842,"stargazers_count":163,"open_issues_count":2,"forks_count":89,"subscribers_count":24,"default_branch":"master","last_synced_at":"2025-04-04T01:09:19.461Z","etag":null,"topics":["codeigniter","php"],"latest_commit_sha":null,"homepage":"","language":"JavaScript","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/ivantcholakov.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2013-11-13T03:24:32.000Z","updated_at":"2025-04-03T06:29:02.000Z","dependencies_parsed_at":"2024-08-02T05:04:06.333Z","dependency_job_id":"49d7bd25-dbab-48a3-840d-920985637c2d","html_url":"https://github.com/ivantcholakov/starter-public-edition-4","commit_stats":{"total_commits":4233,"total_committers":7,"mean_commits":604.7142857142857,"dds":"0.015355539806284013","last_synced_commit":"461dd89c0af88069b2a270b60d1024851cf2418f"},"previous_names":[],"tags_count":401,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ivantcholakov%2Fstarter-public-edition-4","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ivantcholakov%2Fstarter-public-edition-4/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ivantcholakov%2Fstarter-public-edition-4/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ivantcholakov%2Fstarter-public-edition-4/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/ivantcholakov","download_url":"https://codeload.github.com/ivantcholakov/starter-public-edition-4/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":248636598,"owners_count":21137489,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["codeigniter","php"],"created_at":"2024-08-02T05:00:51.184Z","updated_at":"2025-04-12T21:33:53.435Z","avatar_url":"https://github.com/ivantcholakov.png","language":"JavaScript","funding_links":[],"categories":["CSS"],"sub_categories":[],"readme":"A PHP Application Starter, Version 4, Based on CodeIgniter\n==========================================================\n\nProject Repository\n------------------\n\nhttps://github.com/ivantcholakov/starter-public-edition-4\n\nNote\n----\n\nThis version supports multiple applications.\n\nPHP\n---\n\nIf you are a beginner with little or no PHP experience, you might need to read a training tutorial like this one:\n\nPHP Tutorial for Beginners: Learn in 7 Days, https://www.guru99.com/php-tutorials.html\n\nCodeIgniter 3 Documentation\n-----------------------------\n\nhttps://www.codeigniter.com/userguide3/\n\nRequirements\n------------\n\nPHP 8.0.2 or higher, Apache 2.4 (mod_rewrite should be enabled).\nFor database support seek information within CodeIgniter 3 documentation.\n\nFor UTF-8 encoded sites it is highly recommendable the following PHP extensions to be installed:\n\n* **mbstring**;\n* **iconv**;\n* **pcre** compiled with UTF-8 support (the \"u\" modifier should work).\n\nInstallation\n------------\n\nDownload source and place it on your web-server within its document root or within a sub-folder.\nMake the folder platform/writable to be writable. It is to contain CodeIgniter's cache, logs and other things that you might add.\nOpen the site with a browser on an address like this: http://localhost/starter-public-edition-4/public/\n\nOn your web-server you may move one level up the content of the folder public, so the segment public from the address to disappear.\nAlso you can move the folder platform to a folder outside the document root of the web server for increased security.\nAfter such a rearrangement open the file config.php (public/config.php before rearrangement), find the setting $PLATFORMPATH and change this path accordingly.\nThe file public/config.php contains also the ENVIRONMENT setting that can be switched among development, testing, and production mode.\nBy default ENVIRONMENT is set to 'production'.\n\nThe following directories (the locations are the original) must have writable access:\n\n```\nplatform/upload/\nplatform/writable/\npublic/cache/\npublic/editor/\npublic/upload/\n```\n\nHave a look at the files .htaccess and robots.txt and adjust them for your site.\nWithin the directory platform/applications you will by default two applications - \"front\" and \"admin\".\nHave a look at their configuration files. Also, the common PHP configuration files you may find at platform/common/config/ folder.\n\nThe platform auto-detects its base URL address nevertheless its public part is on the document root of the web-server or not.\nHowever, on production installation, site should be accessed only through trusted host/server/domain names,\nsee platform/common/config/config.php , the configuration settings $config['restrictAccessToTrustedHostsOnly'] and\n$config['trustedHosts'] for more information.\n\nInstallation on a developer's machine\n-------------------------------------\n\nIn addition to the section above, it is desirable on a developer's machine\nadditional components to be installed globally, they are mostly to support\ncompilation of web resources (for example: less -\u003e css, ts -\u003e js). The system\naccesses them using PHP command-shell functions.\n\nWhen installing the additional components globally, the command-line console would\nrequire administrative privileges.\n\n* Install Node.js and npm, for example see https://docs.npmjs.com/getting-started/installing-node\nAs a result, from the command line these commands should work:\n\n```sh\nnode -v\nnpm -v\n```\n\n* (Optional, Linux, Ubuntu) Install the interactive node.js updater:\n\n```sh\nsudo npm install -g n\n```\n\n* Later you can use the following commands for updates:\n\nUpdating Node.js:\n\n```sh\nsudo n lts\n```\n\nUpdating npm:\n\n```sh\nsudo npm i -g npm\n```\n\nUpdating all the globally installed packages:\n\n```sh\nsudo npm update -g\n```\n\nAnother way for global updating is using the interactive utility npm-check. Installing:\n\n```sh\nsudo npm -g i npm-check\n```\n\nAnd then using it:\n\n```sh\nsudo npm-check -u -g\n```\n\n* Install less.js compiler (http://lesscss.org/) globally:\n\n```sh\nsudo npm install less -g\n```\n\nThen the following command should work:\n\n```sh\nlessc -v\n```\n\n* Install PostCSS and its CLI utility (https://github.com/postcss/postcss-cli) globally:\n\n```sh\nsudo npm -g install postcss-cli\n```\n\nAnd this command should work:\n\n```sh\npostcss -v\n```\n\n* Install Autoprefixer (https://github.com/postcss/autoprefixer) globally:\n\n```sh\nsudo npm -g install autoprefixer\n```\n\n* Install cssnano (https://github.com/ben-eb/cssnano):\n\n```sh\nsudo npm -g install cssnano\n```\n\n* Install TypeScript compiler (if it is needed):\n\n```sh\nsudo npm -g install typescript-compiler\n```\n\nThis command should work:\n\n```sh\ntsc -v\n```\n\nOn compilation of huge web-resources Node.js might exaust its memory, in such case try\n(the value may vary):\n\n```sh\nexport NODE_OPTIONS=--max-old-space-size=8192\n```\n\nCoding Rules\n------------\n\nFor originally written code a tab is turned into four spaces. This is the only\nstrict rule. Standard PSR rules are welcome, but it is desirable code not to be\n'compressed' vertically, use more meaningful empty lines that would make code\nmore readable and comfortable.\n\nAdditional Features\n-------------------\n\n* CodeIgniter 3, https://codeigniter.com/, https://github.com/bcit-ci/CodeIgniter , installed by using Composer.\n* On a web-server you can place your site (public folder) within a subdirectory.\n* Codeigniter Cross Modular Extensions - XHMVC,\nhttps://bitbucket.org/xperez/codeigniter-cross-modular-extensions-xhmvc,\nhttp://www.4amics.com/x.perez/2013/06/xhmvc-common-modular-extensions/ (only the essential piece of code).\n* Support for the old CI 2.x class/file name convention. When you port your older libraries, models, and controllers,\nyou would not be forced to rename them according to the new strict \"ucfirst\" naming convention.\n* Modular Extensions - HMVC for CodeIgniter, https://bitbucket.org/wiredesignz/codeigniter-modular-extensions-hmvc\n* Enhanced bootsrapping process, see the content of the folder platform/core/bootstrap/.\n* In addition to the normal MVC execution, it is possible to run non-MVC scripts, look at the folder public/non-mvc/ for examples.\n* Adapted for HMVC rooting has been implemented. Within a module you are able to place controllers in this way:\n```\n    modules/demo/controllers/page/Page.php     -\u003e address: site_url/demo/page/[index/method]\n    modules/demo/controllers/page/Other.php    -\u003e address: site_url/demo/page/other/[index/method]\n```\nDeeper directory nesting as in CI 3 has not been implemented for now.\n\n* SEO Friendly URLs in CodeIgniter, http://www.einsteinseyes.com/blog/techno-babble/seo-friendly-urls-in-codeigniter-2-0-hmvc/\n* Hack 2. Prevent Model-Controller Name Collision, http://net.tutsplus.com/tutorials/php/6-codeigniter-hacks-for-the-masters/\n\nInstead of:\n\n```php\n// Filename: Welcome.php\nclass Welcome extends Base_Controller {\n    // ...\n}\n```\n\nyou can write:\n\n```php\n// Filename: Welcome_controller.php\nclass Welcome_controller extends Base_Controller {\n    // ...\n}\n```\n\nThus the class name Welcome is available to be used as a model name instead of those ugly names Welcome_model, Welcome_m, etc.\nThe technique of this hack is available, but it is not mandatory.\n\n* Hack 4. Running CodeIgniter from the Command Line, http://net.tutsplus.com/tutorials/php/6-codeigniter-hacks-for-the-masters/ - see the file public/cli.php.\n* Form Validation Callbacks in HMVC in Codeigniter, http://www.mahbubblog.com/php/form-validation-callbacks-in-hmvc-in-codeigniter/\n* Making CodeIgniter’s Profiler AJAX compatible, http://dragffy.com/blog/posts/making-codeigniters-profiler-ajax-compatible\n* CodeIgniter Form Validation External Callbacks, https://gist.github.com/1503599, https://ellislab.com/forums/viewthread/205469/\n* User Agent Helper Functions for CodeIgniter, https://github.com/ivantcholakov/codeigniter-user-agent-helper\n* Template library for CodeIgniter by Phil Sturgeon, http://philsturgeon.co.uk/code/codeigniter-template\n* CodeIgniter Asset Library by Phil Sturgeon.\n* UTF-8 string support for CodeIgniter based on Kohana's implementation, https://github.com/ivantcholakov/codeigniter-utf8\n* PHP fallback function http_build_url(), https://github.com/ivantcholakov/http_build_url\n* Core_Model, see https://github.com/ivantcholakov/codeigniter-base-model\n* normalize.css, a collection of HTML element and attribute style-normalizations, https://github.com/necolas/normalize.css\n* Modernizr, a JavaScript library that detects HTML5 and CSS3 features in the user’s browser, http://modernizr.com\n* html5shiv.js and html5shiv-printshiv.js (separate, packed within Modernizr too) - The HTML5 Shiv enables use of HTML5 sectioning elements in legacy Internet Explorer and provides basic HTML5 styling for Internet Explorer 6-9, Safari 4.x (and iPhone 3.x), and Firefox 3.x., https://github.com/aFarkas/html5shiv\n* Internationalization, initially based on CodeIgniter 2.1 internationalization i18n, https://github.com/bcit-ci/CodeIgniter/wiki/CodeIgniter-2.1-internationalization-i18n, but totally reworked.\n* cURL library for CodeIgniter, https://github.com/philsturgeon/codeigniter-curl\n* CodeIgniter-REST Client, https://github.com/philsturgeon/codeigniter-restclient\n* CodeIgniter Rest Server, https://github.com/chriskacerguis/codeigniter-restserver\n* A simple Event System for CodeIgniter, https://github.com/ericbarnes/CodeIgniter-Events, https://github.com/nathanmac/CodeIgniter-Events\n* Support for database stored settings (Settings library).\n* Textile, A Humane Web Text Generator, https://txstyle.org, https://github.com/textile/php-textile\n* Markdownify - The HTML to Markdown converter for PHP, https://github.com/Elephant418/Markdownify\n* Parsedown - Better Markdown Parser in PHP - https://github.com/erusev/parsedown\n* Parsedown Extra - An extension of Parsedown that adds support for Markdown Extra - https://github.com/erusev/parsedown-extra\n* Mustache, Logic-less templates, https://github.com/bobthecow/mustache.php, https://github.com/janl/mustache.js\n* PHPMailer, http://phpmailer.worxware.com/, https://github.com/PHPMailer/PHPMailer\n* A CodeIgniter 3 compatible email-library powered by PHPMailer, https://github.com/ivantcholakov/codeigniter-phpmailer\n* A PHP class for transliteration, https://github.com/ivantcholakov/transliterate\n* AES (256, 192, 128) Symmetric Encryption, Compatible with OpenSSL, https://github.com/ivantcholakov/gibberish-aes-php\n* HTML Purifier, http://htmlpurifier.org/\n* Core_Lang, language translations: Support has been implemented for placeholders %s, %d, etc.\n* Translation within views by using i18n tag, http://devzone.zend.com/1441/zend-framework-and-translation/\n\nHow to use this feature:\n\nEnable the configuration option 'parse_i18n':\n```php\n$config['parse_i18n'] = TRUE;\n```\nThen in your views you can use the following syntax:\n```php\n\u003ci18n\u003etranslate_this\u003c/i18n\u003e\n```\nor with parameters\n```php\n\u003ci18n replacement=\"John,McClane\"\u003edear\u003c/i18n\u003e\n```\nwhere $lang['dear'] = 'Dear Mr. %s %s,';\n\nHere is a way how to translate title, alt, placeholder and value attributes:\n\n```php\n\u003cimg src=\"...\" i18n:title=\"click_me\" /\u003e\n```\nor with parameters\n```php\n\u003cimg src=\"...\" i18n:title=\"dear|John,McClane\" /\u003e\n```\n\nYou can override the global setting 'parse_i18n' within the controller by inserting the line:\n```php\n$this-\u003eparse_i18n = TRUE; // or FALSE\n```\n\nParsing of ```\u003ci18n\u003e``` tags is done on the final output buffer only when\nthe MIME-type is 'text/html'.\n\n**Note:** Enabling globally the i18n parser maybe is not the best idea. If you use HMVC, maybe it would\nbe better i18n-parsing to be done selectively for particular html-fragments. See below on how to use the\nParser class for this purpose.\n\n* KCAPTCHA Version 2.0 - A Port for CodeIgniter, https://github.com/ivantcholakov/codeigniter-kcaptcha\n* Parser class: Driver support has been implemented.\n\nInstead of:\n\n```php\n$this-\u003eload-\u003elibrary('parser');\n```\n\nwrite the following:\n\n```php\n$this-\u003eload-\u003eparser();\n```\n\nQuick tests:\n\n```php\n// The default parser.\n$this-\u003eload-\u003eparser();\necho $this-\u003eparser-\u003eparse_string('Hello, {name}!', array('name' =\u003e 'John'), TRUE);\n```\n\nThere are some other parser-drivers implemented. Examples:\n\n```php\n// Mustache parser.\n$this-\u003eload-\u003eparser('mustache');\necho $this-\u003emustache-\u003eparse_string('Hello, {{name}}!', array('name' =\u003e 'John'), TRUE);\n```\n\n```php\n// Parsing a Mustache type of view.\n$email_content = $this-\u003emustache-\u003eparse('email.mustache', array('name' =\u003e 'John'), TRUE);\necho $email_content;\n```\n\n```php\n// Textile parser\n$this-\u003eload-\u003eparser('textile');\necho $this-\u003etextile-\u003eparse_string('h1. Hello!', NULL, TRUE);\necho $this-\u003etextile-\u003eparse('hello.textile', NULL, TRUE);\n```\n\n```php\n// Markdown parser\n$this-\u003eload-\u003eparser('markdown');\necho $this-\u003emarkdown-\u003eparse_string('# Hello!', NULL, TRUE);\necho $this-\u003emarkdown-\u003eparse('hello.markdown', NULL, TRUE);\n```\n\n```php\n// Markdownify parser\n$this-\u003eload-\u003eparser('markdownify');\necho $this-\u003emarkdownify-\u003eparse_string('\u003ch1\u003eHello!\u003c/h1\u003e', NULL, TRUE);\necho $this-\u003emarkdownify-\u003eparse('hello.html', NULL, TRUE);\n```\n\n```php\n// LESS parser\n$this-\u003eload-\u003eparser('less');\necho $this-\u003eless-\u003eparse_string('@color: #4D926F; #header { color: @color; } h2 { color: @color; }', NULL, TRUE);\necho $this-\u003eless-\u003eparse(DEFAULTFCPATH.'assets/less/lib/bootstrap-3/bootstrap.less', NULL, TRUE);\n```\n\nWithin the folder platform/common/libraries/Parser/drivers/ you may see all the additional parser drivers implemented.\nAlso within the folder platform/common/config/ you may find the corresponding configuration files for the drivers,\nname by convention parser_*driver_name*.php. Better don't tweak the default configuration options, you may alter them\ndirectly on parser call where it is needed.\n\nThe simple CodeIgniter's parser driver-name is 'parser', you may use it according to CodeIgniter's manual.\n\n**Enanced syntax for using parsers** (which I prefer)\n\nUsing the generic parser class directly, with specifying the desired driver:\n\n```php\n$this-\u003eload-\u003eparser();\n\n// The fourth parameter means Mustache parser that is loaded automatically.\necho $this-\u003eparser-\u003eparse_string($mustache_template, $data, true, 'mustache');\n\n// The fourth parameter means Markdown and auto_link parsers parser to be applied in a chain.\necho $this-\u003eparser-\u003eparse_string($content, null, true, array('markdown', 'auto_link'));\n\n// The same chaining example, this time a configuration option of the second parser has been altered.\necho $this-\u003eparser-\u003eparse_string($content, null, true, array('markdown', 'auto_link' =\u003e array('attributes' =\u003e 'target=\"_blank\" rel=\"noopener\"')));\n```\n\nUsing parsers indirectly on rendering views:\n\n```php\n// You don't need to load explicitly the parser library here.\n\n// The fourth parameter means that i18n parser is to be applied.\n// This is a way to handle internationalization on views selectively.\n$this-\u003eload-\u003eview('main_menu_widget', $data, false, 'i18n');\n```\n\nUsing a parser indirectly with Phil Sturgeon's Template library:\n\n```php\n// You don't need to load explicitly the parser library here.\n\n$this-\u003etemplate\n    -\u003eset(compact('success', 'messages', 'subject', 'body'))\n    -\u003eenable_parser_body('i18n')  // Not elegant enough, sorry.\n    -\u003ebuild('email_test');\n```\n\n* CodeIgniter Checkbox Helper, https://gist.github.com/mikedfunk/4004986\n* Configured web-assets compiler has been added.\n\nGulp/Webpack and etc. package managers\nfrom the Javascript world might be annoying burden for a PHP-developer. In order to make this matter easier, a web-asset\ncompilator has been implemented, it uses internally the corresponding parsers. First, the\ncompiler's tasks must be specified by names, see the configuration file platform/common/config/assets_compile.php.\n\nHave a look at platform/common/config/assets_compile.php file. It contains a list of files (sources, destinations)\nto be used for LESS to CSS compilation. You may edit this list according to your needs. Before compilation, make sure\nthat destination files (if exist) are writable and their containing folders are writable too.\nA simple example:\n\n```php\n    ...\n    [\n        'name' =\u003e 'my_task',\n        'type' =\u003e 'less',\n        'source' =\u003e DEFAULTFCPATH.'themes/front_default/src/my.less',\n        'destination' =\u003e DEFAULTFCPATH.'themes/front_default/src/my.min.css',\n        'less' =\u003e [],\n        'autoprefixer' =\u003e ['browsers' =\u003e ['\u003e 1%', 'last 2 versions', 'Firefox ESR', 'Safari \u003e= 7', 'iOS \u003e= 7', 'ie \u003e= 10', 'Edge \u003e= 12', 'Android \u003e= 4']],\n        'cssmin' =\u003e [],\n    ],\n    ...\n```\n\nAs you can see, there are source and destinations files, and a chain of parsers with their specific options.\nThe type of the task here is the name of the first parser to be applied. Practically, more complex tasks\nmight be needed when CSS and Javascripts are merged into a single result file. For this purpose there are\ntwo special task-types: 'merge_css' and 'merge_js', see an example:\n\n```php\n    [\n        'name' =\u003e 'front_default_css',\n        'type' =\u003e 'merge_css',\n        'destination' =\u003e DEFAULTFCPATH.'themes/front_default/css/front.min.css',\n        'sources' =\u003e [\n            [\n                'source' =\u003e DEFAULTFCPATH.'themes/front_default/src/front.less',\n                'type' =\u003e 'less',\n                'less' =\u003e [],\n                'autoprefixer' =\u003e ['browsers' =\u003e ['\u003e 1%', 'last 2 versions', 'Firefox ESR', 'Safari \u003e= 7', 'iOS \u003e= 7', 'ie \u003e= 10', 'Edge \u003e= 12', 'Android \u003e= 4']],\n                'cssmin' =\u003e [],\n            ],\n            [\n                'source' =\u003e DEFAULTFCPATH.'assets/scss/lib/sweetalert/sweetalert.scss',\n                'type' =\u003e 'scss',\n                'autoprefixer' =\u003e ['browsers' =\u003e ['\u003e 1%', 'last 2 versions', 'Firefox ESR', 'Safari \u003e= 7', 'iOS \u003e= 7', 'ie \u003e= 10', 'Edge \u003e= 12', 'Android \u003e= 4']],\n                'cssmin' =\u003e [],\n            ],\n        ],\n        'before' =\u003e '_prepare_semantic_source',\n        'after' =\u003e [\n            '_create_sha384',\n            '_create_sha384_base64',\n        ],\n    ],\n```\n\nWithin the example 'before' and 'after' elements are callbacks that do additional user-defined\nactions before and after the correspinding task is executed.\n\nThere is a defined special task-type 'copy' that allows merging already minified CSS or JavaScript without\nany processing.\n\nCompilation is to be done from command-line. Open a terminal at the folder platform/public/ and write the following\ncommand:\n\n```bash\nphp cli.php assets compile\n```\n\nOr, you may choose which tasks to execute by pointing at their names:\n\n```bash\nphp cli.php assets compile task_name_1 task_name_2 task_name_3 ...\n```\n\n* A way for database classes/drivers modification: Files under platform/core/framework/database/ folder may be copied\ninto platform/common/database/ (the prefered location) or platform/applications/{application_name}/database.\nThe copied files can be modified/customized. See https://github.com/ivantcholakov/starter-public-edition-4/issues/5\n* CodeIgniter Cache Helper, https://github.com/stevenbenner/codeigniter-cache-helper\n* auto_link() helper accepts attributes, https://github.com/bcit-ci/CodeIgniter/wiki/auto-link\n* Menu Library, https://github.com/nihaopaul/Spark-Menu, https://github.com/Barnabas/Spark-Menu (the original spark-source), https://github.com/daylightstudio/FUEL-CMS/blob/master/fuel/modules/fuel/libraries/Menu.php\n* Function print_d() (enhanced debug print), ~~https://github.com/vikerlane/print_d~~ https://github.com/CesiumComputer/print_d\n* Registry library for CodeIgniter, https://github.com/ivantcholakov/codeigniter-registry\n* jQuery Validation Plugin, http://jqueryvalidation.org/\n* Extended JavaScript regular expressions XRegExp, http://xregexp.com/\n* DataTables jQuery plugin (http://datatables.net) and Datatable library for server-side processing support.\n* An icon subset of flags from GoSquared, https://www.gosquared.com/resources/flag-icons/\n* phpass (PasswordHash class), http://www.openwall.com/phpass/, http://cvsweb.openwall.com/cgi/cvsweb.cgi/projects/phpass/PasswordHash.php\n* Gravatar Library for CodeIgniter, https://github.com/ivantcholakov/Codeigniter-Gravatar\n* CodeIgniter Advanced Images (Smart Resize and Crop), https://github.com/jenssegers/codeigniter-advanced-images/\n* Multiplayer - A tiny library to build nice HTML embed codes for videos, https://github.com/felixgirault/multiplayer, https://packagist.org/packages/fg/multiplayer\n* Smiley Icons, http://thuthuatvietnam.com/sites/default/files/uploads/files/2013/08/huong-dan-su-dung-smiley-helper-tren-codeigniter.zip, http://thuthuatvietnam.com/huong-dan-su-dung-smileys-helper-tren-codeigniter.html\n* Smiley Icons from Django-emoticons, https://github.com/Fantomas42/django-emoticons\n* php-passgen - A library for generating cryptographically secure passwords in PHP, https://github.com/defuse/php-passgen\n* JSMinPlus - a JavaScript minifier, https://github.com/mrclay/minify/blob/2.2.0/min/lib/JSMinPlus.php\n* less.js script for client-side usage (for learning and development purposes, for production compile less assets before deploying), https://github.com/less/less.js\n* scssphp, a compiler for SCSS written in PHP, https://github.com/scssphp/scssphp\n* TSCompiler, https://github.com/ComFreek/TSCompiler\n* Colorbox, a light-weight, customizable lightbox plugin for jQuery, https://github.com/jackmoore/colorbox\n* php-json-minify, a JSON minifier and uncommenter written in PHP, https://github.com/T1st3/php-json-minify\n* Animate.css, a bunch of cool, fun, and cross-browser animations for you to use in your projects, https://github.com/daneden/animate.css, http://daneden.github.io/animate.css/\n* Web Font Loader, gives you added control when using linked fonts via @font-face, https://github.com/typekit/webfontloader\n* Twig, the flexible, fast, and secure template engine for PHP, http://twig.sensiolabs.org\n* PHP 5.x support for random_bytes() and random_int(), https://github.com/paragonie/random_compat\n* WhichBrowser/Parser, a useragent parser library for PHP, https://github.com/WhichBrowser/Parser\n* iHover, a collection of hover effects using pure CSS, https://github.com/gudh/ihover\n* imagesLoaded - \"You images done yet or what?\", https://github.com/desandro/imagesloaded\n* Masonry - a cascading grid layout library, https://github.com/desandro/masonry\n* Semantic UI - a component framework based around useful principles from natural language, http://www.semantic-ui.com\n* jQuery keepalive Plugin, sends ajax requests to the server at configurable intervals to keep a PHP session from expiring, https://github.com/waynewalls/jquery.keepalive\n* CSS \u0026 JavaScript minifier, in PHP, https://github.com/matthiasmullie/minify , http://www.minifier.org\n* SweetAlert, a beautiful replacement for JavaScript's \"alert\", https://github.com/t4t5/sweetalert , http://t4t5.github.io/sweetalert/\n* Handlebars.js - an extension to the Mustache templating language, https://github.com/wycats/handlebars.js , http://handlebarsjs.com\n* Handlebars.php - Handlebars processor for PHP, https://github.com/salesforce/handlebars-php\n* Intervention Image - a PHP image handling and manipulation library, https://github.com/Intervention/image\n* Letter Avatar for PHP - generate user avatar using name initials letter, https://github.com/yohang88/letter-avatar\n* Headroom.js - A widget that reacts to the user's scroll, https://github.com/WickyNilliams/headroom.js\n* Swiper, \"the free and most modern mobile touch slider with hardware accelerated transitions and amazing native behavior\" - https://github.com/nolimits4web/swiper , https://swiperjs.com\n* highlight.js - Javascript syntax highlighter, https://github.com/highlightjs/highlight.js\n\nThe Playground\n--------------\n\nIt is hard everything about this platform to be documented in a formal way. This is why\na special site section \"The Playground\" has been created, aimed at demonstration of\nplatform's features/concepts. You may look at the examples and review their code.\n\nA contact form has been created that with minimal adaptation you may use directly in your projects.\n\nIf you have no previous experience with CodeIgniter, get familiar with its User Guide first:\nhttps://www.codeigniter.com/user_guide/\n\nInstalled Composer Packages (Not a Full List)\n---------------------------------------------\n\n| Package                             | Description                                                        | Usage                                             |\n|:------------------------------------|:-------------------------------------------------------------------|:--------------------------------------------------|\n| codeigniter/framework               | CodeIgniter 3                                                      | Everywhere                                        |\n| ivantcholakov/codeigniter-phpmailer | The wrapper library for PHPMailer.                                 | Sending emails                                    |\n| fg/multiplayer                      | Builds customizable video embed codes from any URL                 | Multiplayer library                               |\n| scssphp/scssphp                     | A compiler for SCSS written in PHP                                 | Parser 'scss' driver                              |\n| guzzlehttp/guzzle                   | A HTTP client library                                              | Playground, REST service test                     |\n| whichbrowser/parser                 | Useragent sniffing library for PHP                                 | Which_browser library                             |\n| erusev/parsedown                    | Parser for Markdown                                                | Parser 'markdown' driver                          |\n| erusev/parsedown-extra              | An extension of Parsedown that adds support for Markdown Extra     | Parser 'markdown' driver                          |\n| pixel418/markdownify                | A HTML to Markdown converter                                       | Parser 'markdownify' driver                       |\n| mustache/mustache                   | A Mustache template engine implementation in PHP                   | Parser 'mustache' driver                          |\n| netcarver/textile                   | Textile markup language parser                                     | Parser 'textile' driver                           |\n| twig/twig                           | Twig template language for PHP                                     | Parser 'twig' driver                              |\n| ezyang/htmlpurifier                 | Standards compliant HTML filter written in PHP                     | admin and user HTML filters for the online editor |\n| t1st3/php-json-minify               | A JSON minifier                                                    | Parser 'jsonmin' driver                           |\n| matthiasmullie/minify               | CSS \u0026 JS minifier                                                  | Parser 'cssmin' and 'jsmin' drivers               |\n| phpmailer/phpmailer                 | An email creation and transfer component for PHP                   | The custom Email library                          |\n| yohang88/letter-avatar              | Generates user avatars based on name initials                      | userphotos application                            |\n| intervention/image                  | Image handling and manipulation library                            | yohang88/letter-avatar                            |\n| athlon1600/php-proxy                | A web proxy script written in PHP.                                 | Demo feature for previewing the error logs        |\n\nReal Life Usage\n---------------\n\n* http://blitz-club.com/ (casino clubs), designer: Irina Stancheva\n* http://glassbricks.org/ (family counseling), designer: Irina Stancheva\n* http://unicontrol.eu/ (remote monitoring and control of machines and equipment, SCADA), designer: Irina Stancheva\n* http://techmi-mg.com (services and products based on marble and granite), designer: Irina Stancheva\n* http://euroauto.bg (car dealership, leasing of cars), designer: Irina Stancheva\n* http://hotel-salvia.com (a family hotel), designer: Irina Stancheva\n* http://yasla-valshebstvo.com (nursery), designer: Irina Stancheva\n* http://evita-clinic.com (medical and dental services, one page site so far), designer: Irina Stancheva\n* http://index-bg.org (social activities, drug prevention), designer: Irina Stancheva\n* http://vsichkiremonti.bg (repair services), the design is based on AdminLTE project.\n* http://mominidvori.com (a hotel in Bansko, Bulgaria), designer: Irina Stancheva\n* http://hotel-classic.eu (a hotel in Sofia, Bulgaria), designer: Irina Stancheva\n* http://nelasms.com (a seller of spare parts for trucks), designer: Irina Stancheva\n* http://afilipov.eu (a personal site, Andrey Filipov), designer: Irina Stancheva\n* http://petyakonstantinova.com (a personal site, Petya Konstantinova), designer: Irina Stancheva\n* http://liveconsult.eu (training about business or personal relations), designer: Irina Stancheva\n* http://hop-mebeli.com/ - an online shop, furniture, migrated from starter-public-edition-3, designer: Irina Stancheva\n* http://iridadesign.com (we), designer: Irina Stancheva\n* http://profitherm.bg - water pumps supplier, designer: Irina Stancheva (Semantic UI based design)\n* http://art-tochka.com/ - an online shop, gifts, migrated from starter-public-edition-3, designer: Irina Stancheva (still Bootstrap-based design)\n* http://viapontica123.bg - a small hotel, designer: Irina Stancheva\n* http://ivetfashion.com - a model management company, designer: Irina Stancheva\n* http://geopro2009.com - geodetic services, designer: Irina Stancheva\n* http://trenchovahouse.com - a family hotel, designer: Irina Stancheva\n* A new student accommodation management system for Sofia University \"St. Kliment Ohridski\", Bulgaria, running as of 18-th July, 2018.\n* https://steiger-bg.com/ - construction machinery, designer: Irina Stancheva\n\nReported by Zashev Design - Web Design Studio\n\n* http://katonovi.com (an online store)\n* http://lvhalsokost.se\n* http://astoconsult.com (industrial property)\n* http://bba-bulgaria.com (a medical NGO)\n* http://evroforest.com (a parquet seller)\n* http://sip2000.bg (consultancy and training about public procurement)\n* http://lz1866.com (a locomotive services provider)\n* http://www.prista-oil.com/ - production and distribution of motor and industrial oils, greases and special fluids; battery business\n* http://mycity.bg/ - a virtual tourist guide\n* http://vonleart.com - wedding photography\n* http://spa-rusalka.com - a SPA-hotel\n* http://polypoolsbg.com - a FiberGlass pools provider\n* http://ruseplasticsurgery.com - plastic surgery\n* http://tciships.com/ - logistics\n* http://matracimore.com - a provider of mattresses\n* http://freshway-bg.com - an air fresheners provider\n* http://rosifashion.com - a womenswear provider\n* http://shop.rosifashion.com - a womenswear shop\n* http://mkferavita.com - herbal products\n* https://stefanystyle.com - a furniture manufacturer\n* http://rusalkakiten.com - a family hotel\n* http://technet.bg/ - computer maintenance\n* http://rusalkakiten.com/ - a hotel\n* http://rusepress-bg.com/ - printing services\n* http://mirage-group.eu - a printing machines provider\n* http://dibla-awards.com - Dibla Design Awards event\n* https://www.industrialbatteries.bg - industrial batteries, distribution and services\n* http://luxviewblinds.com - custom printed blinds\n* http://piccadillykids.bg - children's center \"Piccadilly Kids\"\n* https://pirgovo.com/ - a wine cellar\n* https://drdimitrovi.com/ - a dental studio\n* https://www.vetlab.bg/ - pet care products\n* https://garibaldi.bg/ - a restaurant\n* https://optikivega.com/ - glasses\n* http://lux-view.com - fashion and jewelry\n* https://andyvil.com/ - an online butique\n\nReported by Krishna Guragai, @krishnaguragain\n\n* https://redmudcoffee.com (a coffee seller)\n* https://hamroschoolapp.com (a home page of a mobile application)\n\nCredits\n-------\n\n* Many thanks to Irida Design OOD, http://iridadesign.com - for sponsoring this project;\n* Gwenaël Gallon, https://github.com/dev-ggallon - for an important bug-fix about detect_url(), French translation, and various component updates;\n* quasiperfect (GitHub name), https://github.com/quasiperfect - for various suggestions and bug-reports;\n* Exelord (GitHub name), https://github.com/Exelord - for Polish translation;\n* Krishna Guragai, https://github.com/krishnaguragain - for drafting the Facebook PHP SDK integration.\n* Denislav Adilev, http://forum.codeigniter.com/user-9053.html - for his overall influence and recommendations,\nfor testing and various bug-reports about the Template library, Twig and Lex parsers integration, language support, image processing and modular extensions.\n\nLicense Information\n-------------------\n\nFor original code in this project:  \nCopyright (c) 2012 - 2022:  \nIvan Tcholakov (the initial author) ivantcholakov@gmail.com,  \nGwenaël Gallon.  \nLicense: The MIT License (MIT), http://opensource.org/licenses/MIT\n\nCodeIgniter:  \nCopyright (c) 2008 - 2014, EllisLab, Inc. (https://ellislab.com/)  \nCopyright (c) 2014 - 2019, British Columbia Institute of Technology (http://bcit.ca/)  \nCopyright (c) 2019 - 2022, CodeIgniter Foundation (https://codeigniter.com/)  \nLicense: The MIT License (MIT), http://opensource.org/licenses/MIT\n\nThird parties:  \nLicense information is to be found directly within code and/or within additional files at corresponding folders.\n\nDonations\n---------\n\nIvan Tcholakov, November 11-th, 2015: No donations are accepted here. If you wish to help, you need the time and the skills of being a direct contributor,\nby providing code/documentation and reporting issues. Period.\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fivantcholakov%2Fstarter-public-edition-4","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fivantcholakov%2Fstarter-public-edition-4","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fivantcholakov%2Fstarter-public-edition-4/lists"}