Conversation
Refactor Demo module structure and add database seeding task
…imonials, and tech stack
Enhance demo module with new sections and layout improvements
…clarity and consistency
Contributor
There was a problem hiding this comment.
Pull request overview
This PR refactors the Demo module to use a more package-like structure (moving PHP source to src/ and relying on composer.json metadata), modernizes the landing-page frontend with new Vue sections, and adds module database seeding scaffolding while updating related Taskfile/CI wiring.
Changes:
- Consolidate module configuration into
composer.json(autoload + Laravel provider registration) and remove legacy module metadata (module.json) and legacyapp/module classes. - Refresh the Demo landing page frontend (new/rewritten Vue sections, updated module import paths, new JS entry structure).
- Add Demo database seeders and a basic feature test; update Taskfile and GitHub workflows to reference the module.
Reviewed changes
Copilot reviewed 27 out of 34 changed files in this pull request and generated 5 comments.
Show a summary per file
| File | Description |
|---|---|
| tests/Feature/DatabaseSeederTest.php | Adds a feature test ensuring the module seeder can run. |
| Taskfile.yml | Updates module-related dev commands (tests, seeding, type generation). |
| src/Providers/DemoServiceProvider.php | Adds a module service provider under the new src/ structure. |
| src/Http/Controllers/DemoController.php | Reintroduces Demo controller under src/ for the landing page. |
| src/Filament/DemoPlugin.php | Adds/updates Filament plugin wiring for the module. |
| routes/web.php | Removes legacy web route scaffold (was commented). |
| routes/navigation.php | Updates landing navigation entries. |
| routes/api.php | Removes legacy API route scaffold (was commented). |
| resources/js/vue/pages/sections/Testimonial.vue | Adds a new testimonial section component. |
| resources/js/vue/pages/sections/TechStackSection.vue | Adds a new tech stack section component. |
| resources/js/vue/pages/sections/ModulesSection.vue | Adds a new modules framework-picker + module grid section. |
| resources/js/vue/pages/sections/HeroSection.vue | Replaces the old hero section implementation with a new version. |
| resources/js/vue/pages/sections/FilamentSection.vue | Updates screenshot asset paths to module-scoped assets. |
| resources/js/vue/pages/sections/FeaturesSection.vue | Adds a new features section component. |
| resources/js/vue/pages/sections/FaqSection.vue | Updates FAQ tech-stack answer copy. |
| resources/js/vue/pages/sections/CtaSection.vue | Adds a new CTA section component. |
| resources/js/vue/pages/Index.vue | Updates landing page composition and module import paths; swaps in ModulesSection. |
| resources/js/vue/app.ts | Introduces a module-specific Vue entry with setup hooks. |
| resources/js/types/page-props.d.ts | Updates the (commented) Inertia module augmentation target. |
| resources/js/pages/sections/HeroSection.vue | Removes the old hero section implementation (legacy path). |
| resources/js/pages/sections/FeaturesSection.vue | Removes the old features section implementation (legacy path). |
| resources/js/app.ts | Changes the main entry to re-export the Vue entry. |
| module.json | Removes legacy module metadata file. |
| LICENSE | Updates the copyright year. |
| database/seeders/DemoDatabaseSeeder.php | Adds a full demo-data seeder spanning multiple modules. |
| database/seeders/DatabaseSeeder.php | Adds a module DatabaseSeeder entrypoint. |
| composer.json | Updates module metadata (provider registration, autoload paths, license, version). |
| app/Providers/RouteServiceProvider.php | Removes legacy module RouteServiceProvider. |
| app/Providers/DemoServiceProvider.php | Removes legacy module service provider in app/. |
| app/Http/Controllers/DemoController.php | Removes legacy controller in app/. |
| .github/workflows/test.yml | Updates module input used by the reusable module test workflow. |
| .github/workflows/release.yml | Switches semantic-release version source from module.json to composer.json. |
Comments suppressed due to low confidence (1)
resources/js/vue/pages/Index.vue:41
- Several new/updated landing-page sections (e.g.
FaqSection.vue,TechStackSection.vue,CtaSection.vue) are not rendered anywhere inIndex.vue(the page only renders Hero/Modules/Features/Filament/Product/LatestPosts). This means the PR’s stated FAQ update (and any new sections) won’t actually be visible/shipped unless they’re added to the page, or the unused section files are removed.
💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
This pull request introduces significant refactoring and modernization to the Demo module, with a focus on aligning conventions, improving maintainability, and updating configuration and code structure. Key changes include removing legacy PHP controller and provider files, updating the module's autoload paths, and shifting configuration to
composer.json. There are also updates to the JavaScript entry points, workflow files, and the addition of new database seeder scaffolding.Module structure and configuration updates:
DemoController,DemoServiceProvider, andRouteServiceProviderhave been deleted, and their registration is now handled viacomposer.jsonautoload and provider configuration. (app/Http/Controllers/DemoController.php[1]app/Providers/DemoServiceProvider.php[2]app/Providers/RouteServiceProvider.php[3]composer.jsonto include module metadata, move source code tosrc/, register the service provider, and set the license and version. (composer.json[1] [2] [3]module.jsonin favor of usingcomposer.jsonfor module configuration. (module.jsonmodule.jsonL1-L15)database/seeders/DatabaseSeeder.php. (database/seeders/DatabaseSeeder.phpdatabase/seeders/DatabaseSeeder.phpR1-R10)Codebase and workflow modernization:
demofor consistency in scripts, tests, and code generation commands. (Taskfile.yml[1].github/workflows/test.yml[2]module.jsontocomposer.json. (.github/workflows/release.yml.github/workflows/release.ymlL15-R15)LICENSEand set the license to proprietary incomposer.json. (LICENSE[1]composer.json[2]Frontend refactoring and improvements:
resources/js/vue/app.tsand re-exported fromresources/js/app.tsfor better modularity. (resources/js/app.ts[1]resources/js/vue/app.ts[2]resources/js/vue/pages/Index.vueresources/js/vue/pages/Index.vueL10-R14)ModulesSectionto the main page and improved the FAQ answer about the tech stack. (resources/js/vue/pages/Index.vue[1]resources/js/vue/pages/sections/FaqSection.vue[2]HeroSection.vueimplementation, likely in preparation for a new or simplified version. (resources/js/pages/sections/HeroSection.vueresources/js/pages/sections/HeroSection.vueL1-L161)Other improvements:
Taskfile.ymlfor easier development. (Taskfile.ymlTaskfile.ymlL12-R25)Overall, these changes modernize the Demo module by consolidating configuration, cleaning up legacy code, and improving consistency across the codebase.