{"id":21880928,"url":"https://github.com/mustafakhaleddev/laravel-atomic","last_synced_at":"2025-07-21T07:31:47.422Z","repository":{"id":57022168,"uuid":"163546062","full_name":"mustafakhaleddev/laravel-atomic","owner":"mustafakhaleddev","description":"Laravel Admin Panel","archived":true,"fork":false,"pushed_at":"2019-01-04T06:43:55.000Z","size":2633,"stargazers_count":8,"open_issues_count":1,"forks_count":5,"subscribers_count":0,"default_branch":"master","last_synced_at":"2025-03-30T12:12:50.909Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":"http://laravel-atomic.mustafakhaled.com","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/mustafakhaleddev.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}},"created_at":"2018-12-29T22:46:03.000Z","updated_at":"2024-10-14T15:13:45.000Z","dependencies_parsed_at":"2022-08-23T13:50:49.579Z","dependency_job_id":null,"html_url":"https://github.com/mustafakhaleddev/laravel-atomic","commit_stats":null,"previous_names":[],"tags_count":1,"template":false,"template_full_name":null,"purl":"pkg:github/mustafakhaleddev/laravel-atomic","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/mustafakhaleddev%2Flaravel-atomic","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/mustafakhaleddev%2Flaravel-atomic/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/mustafakhaleddev%2Flaravel-atomic/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/mustafakhaleddev%2Flaravel-atomic/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/mustafakhaleddev","download_url":"https://codeload.github.com/mustafakhaleddev/laravel-atomic/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/mustafakhaleddev%2Flaravel-atomic/sbom","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":266261117,"owners_count":23901283,"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":[],"created_at":"2024-11-28T09:16:59.240Z","updated_at":"2025-07-21T07:31:46.276Z","avatar_url":"https://github.com/mustafakhaleddev.png","language":"PHP","funding_links":["http://patreon.com/mustafakhaled"],"categories":[],"sub_categories":[],"readme":"# Atomic Panel\n\n![atomic](http://laravel-atomic.mustafakhaled.com/assets/img/panel.png)\n\n\n# 🚀 Documentation\nAtomic Panel full documentation is [here](http://laravel-atomic.mustafakhaled.com).\n\n# 💪 Support Me\nSupport me in [Patreon](http://patreon.com/mustafakhaled) to help me keep going.\n\n\n## 🔥 Getting Started\nAtomic Panel is a beautifully designed administration panel for Laravel. To make you the most productive developer in the galaxy and give you the opportunity to lead the future.\n\n\n## Requirements\n\n* PHP: `^7.0`\n* Laravel: `^5.5`\n\n\n## Installation\n\nRequire this package in the `composer.json` of your Laravel project. This will download the package:\n\n```\ncomposer require mustafakhaleddev/laravel-atomic\n```\n\nInstall AtomicPanel:\n```\nphp artisan atomic:install\n```\n\nAdd the ServiceProvider in `config/app.php`:\n\n```php\n'providers' =\u003e [\n    /*\n     * Package Service Providers...\n     */\n     App\\Providers\\AtomicServiceProvider::class,\n]\n```\n\nPublished files with installation:\n\n```\n-app\n   -Providers\n     -AtomicServiceProvider.php\n__________________________\n-config\n     -AtomicPanel.php\n__________________________\n-public\n     -vendor\n       -atomic\n__________________________\n-resources\n     -views\n        -vendor\n          -atomic\n__________________________\n\n```\n#### AtomicPanel\nTo make admin user:\n```php\nphp artisan atomic:user\n```\nThen open `https://yourwebsite.domain/atomic`.\n\n### Authorizing Atomic\nWithin your `app/Providers/AtomicServiceProvider.php` file, there is a gate method. This authorization gate controls access to Atomic in non-local environments. By default, any user can access the Atomic Panel when the current application environment is local. You are free to modify this gate as needed to restrict access to your Atomic installation: \n```php\n    /**\n     * Register the Atomic gate.\n     *\n     * This gate determines who can access Atomic in non-local environments.\n     *\n     * @return void\n     */\n    protected function gate()\n    {\n        Gate::define('viewAtomic', function ($user) {\n            return in_array($user-\u003eemail, [\n                'atomic@mustafakhaled.com'\n            ]);\n        });\n    }\n```\n## Usage\n\nAtomic Panel is the best CRUD. It works with Laravel models.\nIf you don't want to use Laravel models, you can create your own pages.\n\n## ⏰ 3 Steps for Best CRUD\n\n### ☝ Step 1\nInclude `AtomicModel` trait in your model:\n```php\n\u003c?php\n\nnamespace App;\nuse Illuminate\\Database\\Eloquent\\Model;\nuse MustafaKhaled\\AtomicPanel\\AtomicModel;\n\nclass MyModel extends Model\n{\n    use AtomicModel;\n}\n```\n\n### ☝ Step 2\nOverride `AtomicFields()` method in model:\n```php\n\u003c?php\n\nnamespace App;\nuse Illuminate\\Database\\Eloquent\\Model;\nuse MustafaKhaled\\AtomicPanel\\AtomicModel;\n\nclass MyModel extends Model\n{\n     use AtomicModel;\n     \n     public static function AtomicFields()\n     {\n          return [];   \n     }\n}\n```\n### ☝ Step 3\nRegister your CRUD fields:\n```php\n\u003c?php\n\nnamespace App;\nuse Illuminate\\Database\\Eloquent\\Model;\nuse MustafaKhaled\\AtomicPanel\\AtomicModel;\nuse MustafaKhaled\\AtomicPanel\\Fields\\ID;\nuse MustafaKhaled\\AtomicPanel\\Fields\\Text;\nuse MustafaKhaled\\AtomicPanel\\Fields\\Trix;\n\nclass MyModel extends Model\n{\n     use AtomicModel;\n     \n     public static function AtomicFields()\n     {\n          return [\n            ID::make('id', 'id'),\n            Text::make('Title', 'title'),\n            Trix::make('Content', 'content'),\n         ];\n     }\n}\n```\n\n\n## License\n\n[MIT](LICENSE) © [Mustafa Khaled](https://mustafakhaled.com)\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fmustafakhaleddev%2Flaravel-atomic","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fmustafakhaleddev%2Flaravel-atomic","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fmustafakhaleddev%2Flaravel-atomic/lists"}