Skip to content

Refactor Demo module and enhance with new sections and seeding - #6

Merged
roble merged 13 commits into
mainfrom
dev-v2
Jun 7, 2026
Merged

Refactor Demo module and enhance with new sections and seeding#6
roble merged 13 commits into
mainfrom
dev-v2

Conversation

@roble

@roble roble commented Jun 7, 2026

Copy link
Copy Markdown
Contributor

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:

  • Removed legacy PHP files: DemoController, DemoServiceProvider, and RouteServiceProvider have been deleted, and their registration is now handled via composer.json autoload and provider configuration. (app/Http/Controllers/DemoController.php [1] app/Providers/DemoServiceProvider.php [2] app/Providers/RouteServiceProvider.php [3]
  • Updated composer.json to include module metadata, move source code to src/, register the service provider, and set the license and version. (composer.json [1] [2] [3]
  • Removed module.json in favor of using composer.json for module configuration. (module.json module.jsonL1-L15)
  • Added a stub database seeder in database/seeders/DatabaseSeeder.php. (database/seeders/DatabaseSeeder.php database/seeders/DatabaseSeeder.phpR1-R10)

Codebase and workflow modernization:

  • Updated all references to the module name to use lowercase demo for consistency in scripts, tests, and code generation commands. (Taskfile.yml [1] .github/workflows/test.yml [2]
  • Changed the version file used in the release workflow from module.json to composer.json. (.github/workflows/release.yml .github/workflows/release.ymlL15-R15)
  • Updated the license year in LICENSE and set the license to proprietary in composer.json. (LICENSE [1] composer.json [2]

Frontend refactoring and improvements:

  • Moved the main JS entry point to resources/js/vue/app.ts and re-exported from resources/js/app.ts for better modularity. (resources/js/app.ts [1] resources/js/vue/app.ts [2]
  • Updated imports and paths to use lowercased module names and new directory structure in Vue components. (resources/js/vue/pages/Index.vue resources/js/vue/pages/Index.vueL10-R14)
  • Added a new ModulesSection to 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]
  • Removed the complex HeroSection.vue implementation, likely in preparation for a new or simplified version. (resources/js/pages/sections/HeroSection.vue resources/js/pages/sections/HeroSection.vueL1-L161)

Other improvements:

  • Added a database seed task to Taskfile.yml for easier development. (Taskfile.yml Taskfile.ymlL12-R25)

Overall, these changes modernize the Demo module by consolidating configuration, cleaning up legacy code, and improving consistency across the codebase.

Copilot AI review requested due to automatic review settings June 7, 2026 15:21

Copilot AI left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

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 legacy app/ 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 in Index.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.

Comment thread composer.json
Comment thread src/Http/Controllers/DemoController.php
Comment thread .github/workflows/test.yml
Comment thread Taskfile.yml
Comment thread Taskfile.yml
Copilot finished work on behalf of roble June 7, 2026 16:49
@roble
roble merged commit 3aa5282 into main Jun 7, 2026
3 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants