{"id":13818255,"url":"https://github.com/agungsugiarto/boilerplate","last_synced_at":"2025-04-05T03:09:13.120Z","repository":{"id":47559989,"uuid":"243432201","full_name":"agungsugiarto/boilerplate","owner":"agungsugiarto","description":"CodeIgniter4 Boilerplate based on AdminLTE 3 with user management, roles, permissions, ...","archived":false,"fork":false,"pushed_at":"2024-05-13T23:23:08.000Z","size":3074,"stargazers_count":160,"open_issues_count":17,"forks_count":49,"subscribers_count":15,"default_branch":"master","last_synced_at":"2025-03-29T02:04:11.947Z","etag":null,"topics":["boilerplate","codeigniter-boilerplate","codeigniter-skeleton","codeigniter4","codeigniter4-boilerplate"],"latest_commit_sha":null,"homepage":null,"language":"PHP","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/agungsugiarto.png","metadata":{"files":{"readme":"README.md","changelog":"CHANGELOG.md","contributing":null,"funding":".github/FUNDING.yml","license":"LICENSE.md","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},"funding":{"custom":"https://saweria.co/agungsugiarto"}},"created_at":"2020-02-27T04:41:18.000Z","updated_at":"2025-02-17T01:43:33.000Z","dependencies_parsed_at":"2024-01-13T15:37:51.816Z","dependency_job_id":"b4df97f4-d225-45b6-bb82-04868ad0e91b","html_url":"https://github.com/agungsugiarto/boilerplate","commit_stats":{"total_commits":189,"total_committers":5,"mean_commits":37.8,"dds":"0.11111111111111116","last_synced_commit":"7ae95390dfab215a66e40a3789ad742c3636f841"},"previous_names":[],"tags_count":24,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/agungsugiarto%2Fboilerplate","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/agungsugiarto%2Fboilerplate/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/agungsugiarto%2Fboilerplate/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/agungsugiarto%2Fboilerplate/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/agungsugiarto","download_url":"https://codeload.github.com/agungsugiarto/boilerplate/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":247280272,"owners_count":20912967,"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":["boilerplate","codeigniter-boilerplate","codeigniter-skeleton","codeigniter4","codeigniter4-boilerplate"],"created_at":"2024-08-04T07:00:37.609Z","updated_at":"2025-04-05T03:09:13.096Z","avatar_url":"https://github.com/agungsugiarto.png","language":"PHP","funding_links":["https://saweria.co/agungsugiarto"],"categories":["Boilerplate"],"sub_categories":[],"readme":"\u003cp align=\"center\"\u003e\u003cimg src=\"https://codeigniter.com/assets/images/codeigniter4logo.png\" width=\"200\"\u003e\u003c/p\u003e\r\n\r\n\u003cp align=\"center\"\u003e\r\n\u003ca href=\"https://packagist.org/packages/agungsugiarto/boilerplate\"\u003e\u003cimg src=\"https://poser.pugx.org/agungsugiarto/boilerplate/version\"\u003e\u003c/a\u003e\r\n\u003ca href=\"https://packagist.org/packages/agungsugiarto/boilerplate\"\u003e\u003cimg src=\"https://img.shields.io/badge/Package-agungsugiarto%2Fboilerplate-light.svg\"\u003e\u003c/a\u003e\r\n\u003ca href=\"https://packagist.org/packages/agungsugiarto/boilerplate\"\u003e\u003cimg src=\"https://poser.pugx.org/agungsugiarto/boilerplate/downloads\"\u003c/img\u003e\u003c/a\u003e\r\n\u003ca href=\"https://github.com/agungsugiarto/boilerplate/blob/master/LICENSE.md\"\u003e\u003cimg src=\"https://img.shields.io/github/license/agungsugiarto/boilerplate\"\u003e\u003c/a\u003e\r\n\u003c/p\u003e\r\n\r\nCodeIgniter 4 Application Boilerplate\r\n=====================================\r\nThis package for CodeIgniter 4 serves as a basic platform for quickly creating a back-office application. It includes profile creation and management, user management, roles, permissions and a dynamically-generated menu.\r\n\r\nFeature\r\n-------\r\n* Configurable backend theme [AdminLTE 3](https://adminlte.io/docs/3.0/)\r\n* CSS framework [Bootstrap 4](https://getbootstrap.com/)\r\n* Icons by [Font Awesome 5](https://fontawesome.com/)\r\n* Role-based permissions (RBAC) provided by [Myth/Auth](https://github.com/lonnieezell/myth-auth)\r\n* Dynamically-Generated Menu\r\n* Localized English / Indonesian\r\n\r\nThis project is still early in its development... please feel free to contribute!\r\n------------------------------------------------------------\r\nScreenshoot | Demo On [Heroku](https://boilerplate-codeigniter4.herokuapp.com/)\r\n-------------------------------------------------------------------------------\r\n![Dashboard](.github/dashboard.png?raw=true)\r\n\r\nInstallation\r\n------------\r\n\r\n**1.** Get The Module\r\n\r\n```bash\r\ncomposer require agungsugiarto/boilerplate\r\n```\r\n\r\n**2.** Set CI_ENVIRONMENT, baseURL, index page, and database config in your `.env` file based on your existing database (If you don't have a `.env` file, you can copy first from `env` file: `cp env .env` first). If the database does not exist, create the database first.\r\n\r\n```bash\r\n# .env file\r\nCI_ENVIRONMENT = development\r\n\r\napp.baseURL = 'http://localhost:8080'\r\napp.indexPage = ''\r\n\r\ndatabase.default.hostname = localhost\r\ndatabase.default.database = boilerplate\r\ndatabase.default.username = root\r\ndatabase.default.password =\r\ndatabase.default.DBDriver = MySQLi\r\n```\r\n**3.** Run publish auth\r\n```bash\r\nphp spark auth:publish\r\n\r\nPublish Migration? [y, n]: y\r\n  created: Database/Migrations/2017-11-20-223112_create_auth_tables.php\r\n  Remember to run `spark migrate -all` to migrate the database.\r\nPublish Models? [y, n]: n\r\nPublish Entities? [y, n]: n\r\nPublish Controller? [y, n]: n\r\nPublish Views? [y, n]: n\r\nPublish Filters? [y, n]: n\r\nPublish Config file? [y, n]: y\r\n  created: Config/Auth.php\r\nPublish Language file? [y, n]: n\r\n```\r\n\r\n\u003e NOTE: Everything about how to configure auth you can find add [Myth/Auth](https://github.com/lonnieezell/myth-auth).\r\n\r\n\r\nIs it ready yet? Not so fast!! ;-) After publishing `Config/Auth.php` you need to change\r\n`public $views` with these lines below:\r\n```php\r\npublic $views = [\r\n    'login'           =\u003e 'agungsugiarto\\boilerplate\\Views\\Authentication\\login',\r\n    'register'        =\u003e 'agungsugiarto\\boilerplate\\Views\\Authentication\\register',\r\n    'forgot'          =\u003e 'agungsugiarto\\boilerplate\\Views\\Authentication\\forgot',\r\n    'reset'           =\u003e 'agungsugiarto\\boilerplate\\Views\\Authentication\\reset',\r\n    'emailForgot'     =\u003e 'agungsugiarto\\boilerplate\\Views\\Authentication\\emails\\forgot',\r\n    'emailActivation' =\u003e 'agungsugiarto\\boilerplate\\Views\\Authentication\\emails\\activation',\r\n];\r\n```\r\n\r\nOpen `app\\Config\\Filters.php`, find `$aliases` and add these lines below:\r\n```php\r\npublic $aliases = [\r\n    'login'      =\u003e \\Myth\\Auth\\Filters\\LoginFilter::class,\r\n    'role'       =\u003e \\agungsugiarto\\boilerplate\\Filters\\RoleFilter::class,\r\n    'permission' =\u003e \\agungsugiarto\\boilerplate\\Filters\\PermissionFilter::class,\r\n];\r\n```\r\n\r\n**4.** Run publish, migrate and seed boilerplate\r\n\r\n```bash\r\nphp spark boilerplate:install\r\n```\r\n\r\n**5.** Run development server:\r\n\r\n```bash\r\nphp spark serve\r\n```\r\n\r\n**6.** Open in browser http://localhost:8080/admin\r\n```bash\r\nDefault user and password\r\n+----+--------+-------------+\r\n| No | User   | Password    |\r\n+----+--------+-------------+\r\n| 1  | admin  | super-admin |\r\n| 2  | user   | super-user  |\r\n+----+--------+-------------+\r\n```\r\n\r\nSettings\r\n--------\r\n\r\nConfig Boilerplate\r\n\r\nYou can configure default dashboard controller and backend theme in `app\\Config\\Boilerplate.php`,\r\n\r\n```php\r\nclass Boilerplate extends BaseConfig\r\n{\r\n    public $appName = 'Boilerplate';\r\n\r\n    public $dashboard = [\r\n        'namespace'  =\u003e 'agungsugiarto\\boilerplate\\Controllers',\r\n        'controller' =\u003e 'DashboardController::index',\r\n        'filter'     =\u003e 'permission:back-office',\r\n    ];\r\n// App/Config/Boilerplate.php\r\n```\r\n\r\nUsage\r\n-----\r\nYou can find how it works with the read code routes, controller and views etc. Finnally... Happy Coding!\r\n\r\nChangelog\r\n--------\r\nPlease see [CHANGELOG](CHANGELOG.md) for more information what has changed recently.\r\n\r\nContributing\r\n------------\r\nContributions are very welcome.\r\n\r\nLicense\r\n-------\r\n\r\nThis package is free software distributed under the terms of the [MIT license](LICENSE.md).\r\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fagungsugiarto%2Fboilerplate","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fagungsugiarto%2Fboilerplate","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fagungsugiarto%2Fboilerplate/lists"}