HTMLStarter

ci_bootstrap_3 — HTML Starter Template

By waifung0207

A multi-tenant website starter template based on CodeIgniter 3 that provides a front-end site, an admin panel, and an API site within a single application, integrating HMVC, Ion Auth, Grocery CRUD, AdminLTE, Swagger, and other tools.

Explore the design

Compare the page layouts and mobile experience. Open any screenshot for a closer look.

1 previews
Author preview
Author-provided preview

Preview provided in the project README.

One original preview is available. Open the full image to inspect the design.

Screenshots show visual appearance; interactive behavior may differ.

Recorded 2026-10-02View source

What stands out

A quick read of the recorded project description.

01

Provides three entry points within a single application: a front-end website, a back-end admin panel, and an API site

02

Uses the CodeIgniter HMVC extension for a modular directory structure, where modules can independently contain controllers, models, views, and configuration

03

The back-end integrates the AdminLTE theme with Grocery CRUD and Image CRUD for building data tables and image management interfaces

04

The API module integrates Swagger UI and generates interface documentation via swagger-php annotations

05

Built-in user authentication flows for both front-end and back-end, including registration, login, password recovery, and password change

06

Provides gulp tasks for CSS/JS concatenation and minification and image optimization, outputting to the assets/dist directory

Template Details

This is a starter template based on CodeIgniter 3, intended to support a multi-tenant setup within a single PHP application: a front-end website, a back-end admin panel, and an API site. The project uses the CodeIgniter HMVC extension to achieve a modular structure; front-end controllers and back-end modules share core classes such as MY_Controller, and views can be reused across modules or overridden by the same path.

The template comes with several foundational capabilities needed for development: separate user authentication flows for the front-end and back-end (registration, login, password recovery, password change, etc.), an AdminLTE-based back-end interface, table and image management via Grocery CRUD and Image CRUD, RESTful API endpoints integrated with Swagger UI, blog and cover image data structures, a form builder library, breadcrumbs and pagination, multi-language support, email configuration, and utility functions callable from the command line. The asset pipeline uses gulp tasks for script minification, image optimization, and similar processing.

Note that the project README explicitly states it is still a work in progress, with the last build in 2017 and the repository last updated in 2018. The README's to-do list includes improving documentation, enhancing form builder field types, and adding Amazon S3 upload and image cropping to Grocery CRUD/Image CRUD, indicating that some capabilities are not yet complete. Regarding environment, the README recommends PHP 5.6+, Apache 2.2+ (with the rewrite module enabled), and MySQL 5.5+, and notes that MariaDB has not been tested.

HTMLLauncher

Is it right for your project?

Use Cases

  • Starting development on a CodeIgniter 3 project that needs a front-end, back-end, and API simultaneously
  • Organizing controllers, models, and views in an HMVC modular fashion and reusing core logic
  • Quickly obtaining a back-end admin interface with authentication, CRUD tables, and image management
  • Projects that need a Swagger documentation page for RESTful APIs
  • Using preset data structures such as blog posts and cover carousels as a starting point for content management

Suitable For

  • Developers familiar with CodeIgniter 3 and PHP 5.6+
  • Projects that accept using the template as a starting point for secondary development rather than deploying it directly
  • Teams that need a multi-tenant structure (front-end/back-end/API) and are willing to maintain and upgrade it themselves
  • Environments using Apache + MySQL that can configure rewrite and the database as described in the README

Getting started & customization

Use these recorded setup notes alongside the repository instructions for your chosen version.

  1. 1

    After cloning the repository, create a database and import /sql/latest.sql, then verify the connection settings in /application/config/database.php

  2. 2

    The README recommends PHP 5.6+, Apache 2.2+ (with the rewrite module enabled), and MySQL 5.5+; MariaDB has not been tested

  3. 3

    The back-end presets four accounts: webmaster, admin, manager, and staff; the default username and password are the same, and should be changed before use

  4. 4

    The assets/uploads directory needs write permissions for file uploads

  5. 5

    The project is still a work in progress; the README notes that the upgrade process is not friendly before v1.0, so you need to monitor it yourself

Read repository instructions

License & source material

Usage conditions & limitations

Free to use · keep license notice

This entry covers the free version under the MIT license in the public repository; the free scope is the code of that version and does not imply that external services or third-party assets are free.

Must comply with when using

  • You are allowed to use, modify, commercialize, and distribute the code of this version for free.
  • When distributing copies or substantial portions of the code, retain the original author's copyright notice and the full MIT license notice.
  • The code is provided as is; warranties and limitations of liability are governed by the original license and applicable law.

Additional costs & items to verify

  • The project is still under development; the README explicitly marks it as incomplete, so it is not suitable for direct production use and requires your own evaluation and secondary development.
  • Only PHP 5.6+, Apache 2.2+ (with rewrite enabled), and MySQL 5.5+ are recommended environments; other environments have not been fully tested, and MariaDB is explicitly untested.
  • The email configuration uses the external Mailgun service by default; actual use requires you to provide your own Mailgun account and API key.
  • Amazon S3 upload integration is still listed as a TODO and has not been implemented; if you need this capability, you must develop it yourself.
  • The image cropping feature is still listed as a TODO and has not been implemented; you need to add it yourself.
  • The upgrade process is not friendly before the v1.0 release; repository upgrades must be handled manually as recommended by the author, resulting in higher maintenance costs.
  • Demo images, fonts, icons, and other third-party assets must be checked against their respective licenses; you cannot judge solely by the code's MIT license.
  • External services such as domains, hosting, databases, payments, or AI may incur additional charges.
View Original Text Basis

Permission is hereby granted, free of charge

Original License Text

**Note: This project is still in progress, but welcome for any issues encountered**

Original README

Below configuration are preferred; other environments are not well-tested, but still feel free to report and issues.

Original README

email.php --- Created to centralize email configuration (default: using Mailgun)

Original README

Grocery CRUD / Image CRUD file upload - add Amazon S3 integration

Original README

Grocery CRUD / Image CRUD image upload - add cropping feature

Original README

After release the v1.0 version, I will try to keep the upgrade procedure more developer friendly.

Original README
https://github.com/waifung0207/ci_bootstrap_3/blob/master/LICENSEhttps://github.com/waifung0207/ci_bootstrap_3/blob/master/README.md

Compiled by DeepSeek based on repository license and README ·2026-10-02. Results only cover the materials read; dependencies, images, fonts, and subsequent term changes are subject to their respective original texts.

Project checks & description sources

Template Information

Source platforms
GitHub
Documentation and maintenance reference score
Partly documented · 64 / 100
Technologies
HTML
Website type
Starter
How this score is calculated

Our heuristic uses license records (up to 30), a demo link (12), a preview (10), stars (15), recorded maintenance (15), description completeness (8), feature records (5) and classification data (5). It is not a code, security or performance test, or a Google score. A link does not establish tested functionality.

What to verify for this project

Repository update recorded
2018-12-12
Screenshot last checked
2026-10-02

No demo link is recorded. Use the repository instructions to evaluate the project locally; the screenshot alone cannot establish interactive behavior.

The catalog identifies HTML as the primary stack. Check the actual dependency manifest and lockfile for versions and hosting requirements. These notes use recorded metadata, not a code audit or a deployment test.

Use a selection guide →

How this description was prepared

AI-assisted description based on catalog records and repository material. Repository authors are not automatically the reviewers of this description.

Automatically checked against source and license rules; no manual editorial review.

Inspect the recorded source material

SHA-256: b1200bfe0dba53ba585e436e3deb80f3fca4cbb6f4143bbedd638fe82e235168

2026-10-02T07:41:30.608Z

Source file / repository
## CodeIgniter 3 Bootstrap

**Latest Build: 2017-03-24**

**Note: This project is still in progress, but welcome for any issues encountered**

A starter template that supports multi-tenant (Frontend / Admin Panel / API) website in a single application.

This repository is developed upon the following tools: 
* [CodeIgniter](http://www.codeigniter.com/) (v3.1.3) - PHP framework
* [CodeIgniter HMVC Extensions](https://bitbucket.org/wiredesignz/codeigniter-modular-extensions-hmvc) - modular structure by [wiredesignz](http://wiredesignz.co.nz/)
* [codeigniter-base-model](https://github.com/jamierumbelow/codeigniter-base-model) - more advanced CRUD functions for models by [jamierumbelow](https://github.com/jamierumbelow)
* [codeigniter-restserver](https://github.com/chriskacerguis/codeigniter-restserver) - base setup for API module
* [Ion Auth](http://benedmunds.com/ion_auth/) - authentication library for CodeIgniter by [Ben Edmunds](http://benedmunds.com/)
* [Bootstrap](http://getbootstrap.com/) (v3.3.7) - popular frontend framework
* [Grocery CRUD](http://www.grocerycrud.com/) (v1.5.8) - feature-rich library to build CRUD tables
* [Image CRUD](http://www.grocerycrud.com/image-crud) (v0.6) - CRUD library for image management
* [AdminLTE](https://github.com/almasaeed2010/AdminLTE) (v2.3.11) - bootstrap theme for Admin Panel


### Features

This repository contains setup for rapid development:
* Multi-tenant (e.g. Frontend Website, Admin Panel, API) website in single application
* Modular design by CodeIgniter HMVC extension
* Custom config files (sites.php, locale.php) for easy configuration of website behavior
* Admin Panel with AdminLTE v2 theme, and Grocery CRUD integration
* Admin Panel includes usage of [Sortable](http://rubaxa.github.io/Sortable/) library
* API Site with [Swagger](http://swagger.io/) UI integrated, via annotations supported by [swagger-php](https://github.com/zircote/swagger-php) library
* API Site to handle RESTful endpoints, with shortcut functions to grab parameters and display results
* User authentication for Frontend Website (Sign Up, Login, Forgot Password, etc.)
* User authentication for Admin Panel (Login, Change Password, etc.)
* Preset layouts and templates
* Preset asset pipeline (e.g. minify scripts, image optimization) via gulp (reference from [gulp-starter](https://github.com/greypants/gulp-starter))
* Preset data structure for Blogging (with pagination) and Cover Photos (carousel), which can be managed from Admin Panel
* Form Builder library to help with form rendering with Bootstrap theme, form validation, etc.
* Breadcrumb and Pagination handling fit with Bootstrap theme
* Custom 404 pages for Frontend Website and Admin Panel
* Multilingual support
* Email config setup
* Functions to be called from CLI (e.g. daily cron job, database backup)
* ... more coming!


### Demo Project

A demo repository can be found from: https://github.com/waifung0207/ci_bootstrap_3_demo


### Server Environment

Below configuration are preferred; other environments are not well-tested, but still feel free to report and issues. 

* **PHP 5.6+**
* **Apache 2.2+** with rewrite mod enabled
* **MySQL 5.5+** (not tested on MariaDB)


### Setup Guide

1. git clone this repo
2. Create a database (e.g. named "ci_bootstrap_3"), then import /sql/latest.sql into MySQL server
3. Make sure the database config (/application/config/database.php) is set correctly
4. You should be able to access Frontend Website, Admin Panel and API Site (with Swagger Doc) respectively
5. Visit the Demo Controllers (exist in both Frontend / Admin Panel / API) for sample usage

**Note** For more advanced workflow (includes repo upgrade), please have a look on my suggestion in [this issue](https://github.com/waifung0207/ci_bootstrap_3/issues/42). After release the v1.0 version, I will try to keep the upgrade procedure more developer friendly. 


### Admin Users (and default login accounts)

There are 4 preset users for Admin Panel:

* Webmaster (default username & password are both "webmaster", belongs to the webmaster group)
* Admin (default username & password are both "admin", belongs to the admin group)
* Manager (default username & password are both "manager", belongs to the manager group)
* Staff (default username & password are both "staff", belongs to the staff group)


### Folder Structure

Explanation on the folder structure which supports HMVC (only showing the highlighted folders and files).

```
application/                    --- Main CodeIgniter source files
    config/
        production/             --- Configuration when ENVIRONMENT is set as "production"
        autoload.php            --- By default, some files are loaded for this repo
        ci_bootstrap.php        --- Core configuration file for all sites
        database.php            --- Need to verify to ensure connection with MySQL database
        email.php               --- Created to centralize email configuration (default: using Mailgun)
        form_validation.php     --- Created to centralize validation forms for all forms, include ReCAPTCHA settings
        routes.php              --- Changed default controller from Welcome to Home
    controllers/                --- Controllers for Frontend Website; extends from MY_Controller (except Cli)
        Cli.php                 --- Utility function that can only be called from command line
        Home.php                --- Default controller for Frontend Website
    core/                       --- Extending CodeIgniter core classes; can also be used within modules
        MY_Controller.php       --- Important class which contains shared logic of all controllers
        MY_Loader.php           --- Required for HMVC extension
        MY_Model.php            --- Contains shared function for model classes
        MY_Router.php           --- Required for HMVC extension
    helpers/                    --- Contains custom helper functions being used throughout this repo
    language/                   --- Preset language files
    libraries/                  --- Custom libraries (e.g. Form Builder, System Message)
        MY_Email.php            --- Enhanced email library, includes work with Mailgun API
    models/                     --- Sample model extending from MY_Model
    modules/                    --- Each module can be accessed by http://{base_url}/{module_name}/{module_controller}/, etc.
        admin/                  --- Module for Admin Panel
            config/             --- Configuration for Admin Panel (overriding application/config/)
            controllers/        --- Controllers for Admin Panel; also extends from MY_Controller
            libraries/          --- Libraries specific for Admin Panel
            models/             --- Models only being used in Admin Panel
            views/              --- Views for Admin Panel; can reuse Frontend views, or override by using same path/filename
        adminlte/               --- Module with AdminLTE widgets
        api/                    --- Another module specific for API endpoints
    third_party/				--- 3rd party files (HMVC extension, Grocery CRUD, Rest Server, etc.)
    views/                      --- Views for Frontend Website, can also be used by modules unless overrided
assets/                         --- Folder for public files
    api/                        --- Swagger UI assets
    dist/                       --- Post-processed scripts and images via gulp tasks (don't manually edit files here!)
    grocery_crud/               --- Asset files from Grocery CRUD library
    image_crud/                 --- Asset files from Image CRUD library
    uploads/                    --- Default folder for upload files, where permission should set as writable
gulpfile.js/                    --- Task runner following gulp-starter practice
    tasks/                      --- Gulp tasks
    config.js                   --- Configuration for Gulp tasks
screenshots/                    --- Screenshot images for preview
sql/                            --- MySQL files
    backup/                     --- Files which will be created when backup database from CLI
    core/                       --- Files contains core data (e.g. Ion Auth)
    latest.sql                  --- Latest version of all preset data
src/                            --- Folder for non-public source files
    css/                        --- Custom CSS files append to each site
    images/                     --- Source image files before optimization
    js/                         --- Custom CSS files append to each site
    sass/                       --- SASS files for styling
    theme/                      --- Default folder for additional theme files
system/                         --- CodeIgniter core files (unchanged as clean CI3 installation)
.htaccess                       --- URL rewrite for Apache web server (require mod enabled)
```


### Preset Gulp Tasks

The gulpfile.js folder is prepared with following tasks available:

* **default**: run **build** task first, then **watch** for file change
* **build**: run **imagemin**, **cssmin** and **uglify** tasks in parallel
* **rebuild**: run **clean** task first, then **copy**, **imagemin**, **cssmin** and **uglify** tasks in parallel
* **clean**: remove all files inside the dist folder (default: /assets/dist)
* **copy**: copy required files to dist folder
* **cssmin**: concat and minify CSS files
* **imagemin**: optimize images (jpg, png, gif, svg) and output to dist folder (default: /assets/dist/images)
* **uglify**: concat and minify (uglify) JS files
* **watch**: monitor JS / CSS / image files and execute specific tasks upon changes


### Screenshots

Frontend - Home: 

![](screenshots/frontend_home.png "Frontend Home")

Admin Panel - Home: 

![](screenshots/admin_home.png "Admin Panel Home")

More screenshots can be viewed from the [screenshots folder](https://github.com/waifung0207/ci_bootstrap_3/blob/master/screenshots/) under this repository.


### TODO

* Changelog file
* Better documentation (e.g. on [Gitbook](http://gitbook.com/))
* Enhance Form Builder library to support more field types
* Grocery CRUD / Image CRUD file upload - add Amazon S3 integration
* Grocery CRUD / Image CRUD image upload - add cropping feature
Report a correction

Explore similar templates

Compare previews and descriptions within the same stack and category.