{"id":22985781,"url":"https://github.com/mshamaseen/laravel-repository-pattern","last_synced_at":"2025-08-13T20:32:36.082Z","repository":{"id":57048798,"uuid":"164624112","full_name":"mshamaseen/laravel-repository-pattern","owner":"mshamaseen","description":"Files autogenerator for repositorry pattern","archived":false,"fork":false,"pushed_at":"2022-03-22T17:27:37.000Z","size":150,"stargazers_count":49,"open_issues_count":0,"forks_count":8,"subscribers_count":5,"default_branch":"master","last_synced_at":"2025-08-01T11:49:19.367Z","etag":null,"topics":["laravel","repository","repository-pattern","stub","stubs"],"latest_commit_sha":null,"homepage":"","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/mshamaseen.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":"2019-01-08T10:26:58.000Z","updated_at":"2024-03-28T03:21:49.000Z","dependencies_parsed_at":"2022-08-23T19:10:15.088Z","dependency_job_id":null,"html_url":"https://github.com/mshamaseen/laravel-repository-pattern","commit_stats":null,"previous_names":[],"tags_count":46,"template":false,"template_full_name":null,"purl":"pkg:github/mshamaseen/laravel-repository-pattern","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/mshamaseen%2Flaravel-repository-pattern","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/mshamaseen%2Flaravel-repository-pattern/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/mshamaseen%2Flaravel-repository-pattern/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/mshamaseen%2Flaravel-repository-pattern/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/mshamaseen","download_url":"https://codeload.github.com/mshamaseen/laravel-repository-pattern/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/mshamaseen%2Flaravel-repository-pattern/sbom","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":270305842,"owners_count":24562109,"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-08-13T02:00:09.904Z","response_time":66,"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":["laravel","repository","repository-pattern","stub","stubs"],"created_at":"2024-12-15T03:34:27.603Z","updated_at":"2025-08-13T20:32:35.801Z","avatar_url":"https://github.com/mshamaseen.png","language":"PHP","funding_links":[],"categories":[],"sub_categories":[],"readme":"[![Scrutinizer Code Quality](https://scrutinizer-ci.com/g/mshamaseen/laravel-repository-pattern/badges/quality-score.png?b=master)](https://scrutinizer-ci.com/g/mshamaseen/laravel-repository-pattern/?branch=master)\n[![Code Coverage](https://scrutinizer-ci.com/g/mshamaseen/laravel-repository-pattern/badges/coverage.png?b=master)](https://scrutinizer-ci.com/g/mshamaseen/laravel-repository-pattern/?branch=master)\n[![Build Status](https://scrutinizer-ci.com/g/mshamaseen/laravel-repository-pattern/badges/build.png?b=master)](https://scrutinizer-ci.com/g/mshamaseen/laravel-repository-pattern/build-status/master)\n[![Code Intelligence Status](https://scrutinizer-ci.com/g/mshamaseen/laravel-repository-pattern/badges/code-intelligence.svg?b=master)](https://scrutinizer-ci.com/code-intelligence)\n[![SymfonyInsight](https://insight.symfony.com/projects/f3edab7d-00b8-4633-96d3-a84e38b7ebec/mini.svg)](https://insight.symfony.com/projects/f3edab7d-00b8-4633-96d3-a84e38b7ebec)\n\n**IMPORTANT:** We have created this repository to be a part of a specific workflow, it wasn't designed to be compatible with every project, but it became popular, so we decided to create a new better one with flexibility in mind, use [this package](https://github.com/mshamaseen/laravel-repositories) instead.\n\n# Repository Generator\nAutogeneration for repository pattern files, This package is aim to generate Contract (interface), Entity (model), Controller, Repository, Request validation and view files for specified module.\n\nNo Need to bind the interface to the repository, it will be auto-bind !\n\n*Note: if you are using laravel, you should've at least version **5.7**\n\n## Requirement\n\nThis package require the following dependencies:\n   \"illuminate/console\": \"^5.7\",\n   \"illuminate/support\": \"^5.7\"\n\n## Install\n\n1- Require this package with composer using the following command:\n```bash\ncomposer require shamaseen/repository-generator\n```\n2- publish the package config file by running:\n```bash\nphp artisan vendor:publish\n```\nand select **repository-generator**.\n\n3- To enable validation messages to be delivereid, You need to move `StartSession` and `ShareErrorsFromSession` from $middlewareGroups in http karnel to $middleware.\n\n## Publish stubs\nIf you want to have a custom stubs rather than the default ones, you can change the path of the stubs folder in repository config, then run the following command:\n```bash\nphp artisan vendor:publish\n```\n\nand select **repository-stub**, this will publish all the stub templates to the specified path on repository config.\nFeel free to edit stubs templates.\n\n## How to use\nTo generate repository files run the following command:\n```bash\nphp artisan make:repository {Folder/Classname (singular)}\n```\nwhere Folder is optional.\n\nTo generate views and languages files just add `--only-view` option in the command.\n\nTo remove a repository files that has been already created, you can use `Remover` like the following:\n\n```bash\nphp artisan remove:repository {Folder/Classname (singular)}\n```\n\n## Examples\n\nTo generate repository files for product, run the following:\n\n```bash\nphp artisan make:repository Products/Product\n```\nNote: You can use Product instead of Products/Product, this will not make new folder with the class.\n\nThen generate views and languages files:\n\n```bash\nphp artisan make:repository Products/Product --only-view\n```\n\n## License\nRepository-generator is a free software distributed under the terms of the MIT license.\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fmshamaseen%2Flaravel-repository-pattern","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fmshamaseen%2Flaravel-repository-pattern","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fmshamaseen%2Flaravel-repository-pattern/lists"}