{"id":51031010,"url":"https://github.com/dreamfactorysoftware/df-skeleton","last_synced_at":"2026-06-22T00:30:54.763Z","repository":{"id":46521147,"uuid":"201879579","full_name":"dreamfactorysoftware/df-skeleton","owner":"dreamfactorysoftware","description":"DreamFactory starter connector","archived":false,"fork":false,"pushed_at":"2024-07-09T11:56:46.000Z","size":38,"stargazers_count":0,"open_issues_count":3,"forks_count":1,"subscribers_count":5,"default_branch":"master","last_synced_at":"2025-03-05T00:35:03.620Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":"","language":"PHP","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"apache-2.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/dreamfactorysoftware.png","metadata":{"files":{"readme":"README.md","changelog":"CHANGELOG.md","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-08-12T07:25:33.000Z","updated_at":"2021-10-06T18:50:13.000Z","dependencies_parsed_at":"2022-07-22T11:02:39.939Z","dependency_job_id":null,"html_url":"https://github.com/dreamfactorysoftware/df-skeleton","commit_stats":null,"previous_names":[],"tags_count":2,"template":false,"template_full_name":null,"purl":"pkg:github/dreamfactorysoftware/df-skeleton","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/dreamfactorysoftware%2Fdf-skeleton","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/dreamfactorysoftware%2Fdf-skeleton/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/dreamfactorysoftware%2Fdf-skeleton/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/dreamfactorysoftware%2Fdf-skeleton/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/dreamfactorysoftware","download_url":"https://codeload.github.com/dreamfactorysoftware/df-skeleton/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/dreamfactorysoftware%2Fdf-skeleton/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":34630753,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-05-26T15:22:16.424Z","status":"online","status_checked_at":"2026-06-21T02:00:05.568Z","response_time":54,"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":[],"created_at":"2026-06-22T00:30:54.669Z","updated_at":"2026-06-22T00:30:54.749Z","avatar_url":"https://github.com/dreamfactorysoftware.png","language":"PHP","funding_links":[],"categories":[],"sub_categories":[],"readme":"**This guide is not a strict instruction. You don't have to follow every part of it.**\n\n## DreamFactory Skeleton\n\n\u003e **Note:** This repository contains the code needed to create a new connector of the DreamFactory platform. \nIf you want the full DreamFactory platform, visit the \nmain [DreamFactory repository](https://github.com/dreamfactorysoftware/dreamfactory).\n\nYou are free to integrate anything [Laravel](https://laravel.com/docs/5.6/) provides, note that DreamFactory uses Laravel 5.6 version.\n \nYou can clone content of this repository to your own to get new functional connector of DreamFactory Platform.\n \nTo connect it to DF just add the following to the require section of \n[main composer](https://github.com/dreamfactorysoftware/dreamfactory/blob/ce72cc6739979be286f51617050bc9ec9c657f39/composer.json#L30):\n```\n\"require\":     {\n    \"dreamfactory/df-skeleton\":   \"~0.1.0\"    // instead of skeleton write name of your package\n}\n``` \n\nThen run `composer require dreamfactory/df-skeleton update--no-dev --ignore-platform-reqs `\n\n### Documentation\n\nDocumentation for the platform can be found on the [DreamFactory wiki](http://wiki.dreamfactory.com).\n\n# Create a new DreamFactory connector\n\nFirst of all, your package composer need to require df-core \nand, in case of creating system service, df-system. \nJust add the following to the composer.json file of your package:\n```json\n\"require\":     {\n    \"dreamfactory/df-core\":   \"~0.15.1\",\n    \"dreamfactory/df-system\": \"~0.2.0\"\n}\n```\n\n# This package has: \n\n### Folders\n\n- `./database` \n\nThings that concern database. For example [migrations](https://laravel.com/docs/5.6/migrations), if your package needs a table in system database.\n\n- `./routes`\n\nIf you need a non DF API [route](https://laravel.com/docs/5.6/routing), you can describe it in routes.php file.\n\n- `./src/Components`\n\nAny support classes, like wrappers or classes that implement the 3rd party packages functionality.\n\n- `./src/Enum`\n\nIn some cases you want to define a constant list of values. This is a food place to place them.\n\n- `./src/Events`\n\nYour package can define [events](https://laravel.com/docs/5.6/events) to subscribe to them later.\n\n- `./src/Handlers/Events`\n\nDefine event handlers or any other here.\n\n- `./src/Http` \nThings that handle routes from `./routes` folder.\n\n  - `./src/Http/Middleware`\n  \n  Requests middleware should go here.\n  \n  - `./src/Http/Conrollers`\n  \n  Contollers of `./routes` should go here.\n    \n- `./src/Models`\n\nDefine Eloquent [Models](https://laravel.com/docs/5.8/eloquent) here.\n\n- `./src/Resources`\n\nAPI [Resources](https://laravel.com/docs/5.6/eloquent-resources). It may extend `DreamFactory\\Core\\Resources\\BaseRestResource` from df-core.\n\n- `./src/Services`\n\nDefine your new Service here. It may also extend `DreamFactory\\Core\\Services\\BaseRestService` or any other base services from df-core.\n\n- `./src/Testing`\n\nPHPUnit tests go here.\n\n### Classes:\n\n1. Service that extends `DreamFactory\\Core\\Services\\BaseRestService` (__see [src/Services](https://github.com/dreamfactorysoftware/df-skeleton/blob/add-examples/src/Services/ExampleService.php)__)\n2. Database table that describes your connector config (__see [database/migrations](https://github.com/dreamfactorysoftware/df-skeleton/blob/add-examples/database/migrations/2019_08_12_125323_create_example_table.php)__)\n3. Model that connects to the table and extends `DreamFactory\\Core\\Models\\BaseServiceConfigModel` (__see [src/Models](https://github.com/dreamfactorysoftware/df-skeleton/blob/master/src/Models/ExampleModel.php)__).\nThere is an opportunity to create connector not using database (__see [DreamFactory\\Core\\Models\\BaseServiceConfigNoDbModel](https://github.com/dreamfactorysoftware/df-core/blob/master/src/Models/BaseServiceConfigNoDbModel.php)__)\n\n4. Resource that extends `DreamFactory\\Core\\Resources\\BaseRestResource` (__see [src/Resources](https://github.com/dreamfactorysoftware/df-skeleton/blob/add-examples/src/Resources/ExampleResource.php)__)\n\n\nFor parent classes you can override methods to satisfy your needs. \n\nIn your resource and service you can override handleGET, handlePOST methods from [df-core](https://github.com/dreamfactorysoftware/df-core/blob/06e01cd46ed106684041fb1fdf8ef35695a1b2cf/src/Components/RestHandler.php#L589) to determine responses (only if \n[$autoDispatch = true;](https://github.com/dreamfactorysoftware/df-core/blob/06e01cd46ed106684041fb1fdf8ef35695a1b2cf/src/Components/RestHandler.php#L88)).\n\n[ServiceProvider](https://github.com/dreamfactorysoftware/df-skeleton/blob/master/src/ServiceProvider.php) connects the package to the application.\n\n*Remember you are not limited and you can implement anything Laravel provide.*","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fdreamfactorysoftware%2Fdf-skeleton","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fdreamfactorysoftware%2Fdf-skeleton","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fdreamfactorysoftware%2Fdf-skeleton/lists"}