{"id":15028571,"url":"https://github.com/dotkernel/admin","last_synced_at":"2025-11-19T14:03:24.152Z","repository":{"id":12809929,"uuid":"72876762","full_name":"dotkernel/admin","owner":"dotkernel","description":"Dotkernel Admin Application, built on top of Mezzio microframework and using Laminas components.","archived":false,"fork":false,"pushed_at":"2025-11-18T14:28:45.000Z","size":11890,"stargazers_count":36,"open_issues_count":6,"forks_count":7,"subscribers_count":5,"default_branch":"6.0","last_synced_at":"2025-11-18T16:20:49.706Z","etag":null,"topics":["bootstrap5","doctrine","doctrine-orm","headless-platform","jquery","laminas","mezzio","middleware","php82","php83","psr-15","psr-7"],"latest_commit_sha":null,"homepage":"https://admin6.dotkernel.net","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/dotkernel.png","metadata":{"files":{"readme":"README.md","changelog":"CHANGELOG.md","contributing":null,"funding":null,"license":"LICENSE.md","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":"SECURITY.md","support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null,"notice":null,"maintainers":null,"copyright":null,"agents":null,"dco":null,"cla":null}},"created_at":"2016-11-04T18:56:59.000Z","updated_at":"2025-11-04T12:42:16.000Z","dependencies_parsed_at":"2023-02-18T05:46:10.519Z","dependency_job_id":"60606122-cee9-4585-bc95-0172a6ef61ac","html_url":"https://github.com/dotkernel/admin","commit_stats":{"total_commits":287,"total_committers":20,"mean_commits":14.35,"dds":0.7770034843205575,"last_synced_commit":"1bf14e6b5fb1d4974a23d612e29b89775c7e27ba"},"previous_names":[],"tags_count":32,"template":false,"template_full_name":null,"purl":"pkg:github/dotkernel/admin","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/dotkernel%2Fadmin","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/dotkernel%2Fadmin/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/dotkernel%2Fadmin/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/dotkernel%2Fadmin/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/dotkernel","download_url":"https://codeload.github.com/dotkernel/admin/tar.gz/refs/heads/6.0","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/dotkernel%2Fadmin/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":285258051,"owners_count":27140780,"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","status":"online","status_checked_at":"2025-11-19T02:00:05.673Z","response_time":65,"last_error":null,"robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":true,"can_crawl_api":true,"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":["bootstrap5","doctrine","doctrine-orm","headless-platform","jquery","laminas","mezzio","middleware","php82","php83","psr-15","psr-7"],"created_at":"2024-09-24T20:08:38.409Z","updated_at":"2025-11-19T14:03:24.147Z","avatar_url":"https://github.com/dotkernel.png","language":"PHP","readme":"# Dotkernel Admin\n\nDotkernel Admin is an application (skeleton) intended for quickly setting up an administration site for your platform.\nIt's a fast and reliable way to manage records in your database with a simple table-based approach, and also to build reports and graphs to monitor your platform.\nThe many graphical components at your disposal ensure an intuitive user experience.\n\n\u003e Check out our [demo](https://admin6.dotkernel.net/).\n\u003e\n\u003e Submit user `admin` and password `dotadmin` to authenticate yourself.\n\n## Documentation\n\nDocumentation is available at: https://docs.dotkernel.org/admin-documentation/\n\n## Badges\n\n![OSS Lifecycle](https://img.shields.io/osslifecycle/dotkernel/admin)\n![Packagist Dependency Version](https://img.shields.io/packagist/dependency-v/dotkernel/admin/php)\n\n[![GitHub issues](https://img.shields.io/github/issues/dotkernel/admin)](https://github.com/dotkernel/admin/issues)\n[![GitHub forks](https://img.shields.io/github/forks/dotkernel/admin)](https://github.com/dotkernel/admin/network)\n[![GitHub stars](https://img.shields.io/github/stars/dotkernel/admin)](https://github.com/dotkernel/admin/stargazers)\n[![GitHub license](https://img.shields.io/github/license/dotkernel/admin)](https://github.com/dotkernel/admin/blob/6.0/LICENSE.md)\n\n[![Build Static](https://github.com/dotkernel/admin/actions/workflows/continuous-integration.yml/badge.svg?branch=6.0)](https://github.com/dotkernel/admin/actions/workflows/continuous-integration.yml)\n[![codecov](https://codecov.io/gh/dotkernel/admin/graph/badge.svg?token=BQS43UWAM4)](https://codecov.io/gh/dotkernel/admin)\n[![Qodana](https://github.com/dotkernel/admin/actions/workflows/qodana_code_quality.yml/badge.svg?branch=6.0)](https://github.com/dotkernel/admin/actions/workflows/qodana_code_quality.yml)\n[![PHPStan](https://github.com/dotkernel/admin/actions/workflows/static-analysis.yml/badge.svg?branch=6.0)](https://github.com/dotkernel/admin/actions/workflows/static-analysis.yml)\n\n## Getting Started\n\n### Clone the project\n\nUsing your terminal, navigate inside the directory you want to download the project files into.\nMake sure that the directory is empty before proceeding to the download process.\nOnce there, run the following command:\n\n```shell\ngit clone https://github.com/dotkernel/admin.git .\n```\n\n### Install the project dependencies\n\n```shell\ncomposer install\n```\n\nYou will be prompted with the below message to choose whether you want to inject ConfigProviders:\n\n```shell\n Please select which config file you wish to inject 'Laminas\\Validator\\ConfigProvider' into:\n  [0] Do not inject\n  [1] config/config.php\n  Make your selection (default is 1):\n```\n\nType `0` to select **[0] Do not inject** and hit `Enter`.\n\nWe choose not to inject any ConfigProvider because Dotkernel Admin comes with all the required ConfigProviders already injected in `config/config.php`.\nChoosing to inject any extra ConfigProvider would cause having duplicates which are not allowed and would crash the application.\n\n### Development mode\n\n\u003e **Do not enable development mode in production!**\n\nIf you're installing the project for development, you should **enable** development mode by running:\n\n```shell\ncomposer development-enable\n```\n\nYou can **disable** development mode by running:\n\n```shell\ncomposer development-disable\n```\n\nYou can **check** the development status by running:\n\n```shell\ncomposer development-status\n```\n\n### Prepare config files\n\n* **optional**: to run/create tests, duplicate `config/autoload/local.test.php.dist` as `config/autoload/local.test.php` \u003c- this creates a new in-memory database that your tests will run on\n\n### Setup database\n\nUse an existing empty one or create a new **MariaDB**/**MySQL** database.\n\n\u003e Recommended collation: `utf8mb4_general_ci`.\n\nWith a database created, fill out the database connection params in `config/autoload/local.php` under `$databases['default']`.\n\n#### Creating migrations\n\nCreate a new migration by running:\n\n```shell\nphp ./vendor/bin/doctrine-migrations diff\n```\n\nThe new migration file will be placed in `src/Core/src/App/src/Migration/`.\n\n#### Running migrations\n\nExecute a new migration by running:\n\n```shell\nphp ./vendor/bin/doctrine-migrations migrate\n```\n\nThis command will prompt you to confirm that you want to run it:\n\n\u003e WARNING! You are about to execute a migration in database \"`\u003cdatabase\u003e`\" that could result in schema changes and data loss. Are you sure you wish to continue? (yes/no) [yes]:\n\nHit `Enter` to confirm the operation.\n\n#### Executing fixtures\n\nFixtures are used to seed the database with initial values and must be executed after migrating the database.\n\nTo list all the fixtures, run:\n\n```shell\nphp ./bin/doctrine fixtures:list\n```\n\nThis will output all the fixtures in the order of execution.\n\nTo execute all fixtures, run:\n\n```shell\nphp ./bin/doctrine fixtures:execute\n```\n\nTo execute a specific fixture, run:\n\n```shell\nphp ./bin/doctrine fixtures:execute --class=FixtureClassName\n```\n\nMore details on how fixtures work can be found in `dotkernel/dot-data-fixtures` [documentation](https://github.com/dotkernel/dot-data-fixtures#creating-fixtures).\n\n### Mail configuration\n\nIf your application sends emails, you must configure an outgoing mail server under `config/autoload/mail.global.php`.\n\n### Sync GeoLite2 databases\n\n#### Full sync\n\nYou can download/update all GeoLite2 databases at once by running the following command:\n\n```shell\nphp ./bin/cli.php geoip:synchronize\n```\n\nThe output should be similar to the below:\n\n```shell\nasn: n/a -\u003e 2015-10-21 04:29:00\ncity: n/a -\u003e 2015-10-21 04:29:00\ncountry: n/a -\u003e 2015-10-21 04:29:00\n```\n\n#### Selective sync\n\nYou can download/update a specific GeoLite2 database by running the following command:\n\n```shell\nphp ./bin/cli.php geoip:synchronize -d \u003cdatabase\u003e\n```\n\nWhere `\u003cdatabase\u003e` takes one of the following values: **asn**, **city**, **country**.\n\nGet help for this command by running:\n\n```shell\nphp ./bin/cli.php help geoip:synchronize\n```\n\n\u003e If you set up the synchronizer command as a cronjob, you can add the `-q|--quiet` option, and it will output data only if an error has occurred.\n\n### NPM Commands\n\nTo install dependencies into the `node_modules` directory run this command:\n\n```shell\nnpm install\n```\n\nIf the above command fails, it could be caused by user permissions of `npm`.\nRecommendation is to install npm through `Node Version Manager`.\n\nThe **watch** command looks for JavaScript/CSS file changes and recompiles the assets under the public assets:\n\n```shell\nnpm run watch\n```\n\nOnce finished working on the JavaScript/CSS files, run the below command to minify the public assets and prepare them for production:\n\n```shell\nnpm run prod\n```\n\n### Test the installation\n\nIf you are using virtual hosts as described in the [Dotkernel documentation] (https://docs.dotkernel.org/development/), you need to modify the permissions of the `data`, `public/uploads` and `log` folders:\n\n```shell\nchmod -R 777 data\nchmod -R 777 public/uploads\nchmod -R 777 log\n```\n\nRun the following command in your project's directory to start PHPs built-in server:\n\n```shell\nphp -S 0.0.0.0:8080 -t public\n```\n\n\u003e Running command `composer serve` will do the same thing, but the server will time out after a couple of minutes.\n\nIf you are still getting exceptions or errors regarding some missing services, try running the following command:\n\n```shell\nphp ./bin/clear-config-cache.php\n```\n\nOpen a web browser and visit `http://localhost:8080/`.\n\nYou should see the **Dotkernel Admin** login page.\nIf you ran the migrations you will have an admin user in the database with the following credentials:\n\n* **Identity**: `admin`\n* **Password**: `dotadmin`\n\n---\n\n\u003e [!WARNING]\n\u003e **Production only**\n\u003e\n\u003e Make sure you modify the default admin credentials.\n\n---\n\n\u003e [!WARNING]\n\u003e **Development only**\n\u003e\n\u003e `session.cookie_secure` does not work locally so make sure you modify your `local.php`, as per the following:\n\n```php\nreturn [\n  'session_config' =\u003e [\n    'cookie_secure' =\u003e false,\n  ],\n];\n```\n\nDo not change this in `local.php.dist` as well because this value must remain `true` on production.\n","funding_links":[],"categories":[],"sub_categories":[],"project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fdotkernel%2Fadmin","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fdotkernel%2Fadmin","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fdotkernel%2Fadmin/lists"}