Skip to content

refactor: migrate to FSD architecture, Shadcn, PWA, and TanStack Router/Query#40

Closed
mjgargani wants to merge 5 commits into
mainfrom
jules-2307233849306807441-bbff1573
Closed

refactor: migrate to FSD architecture, Shadcn, PWA, and TanStack Router/Query#40
mjgargani wants to merge 5 commits into
mainfrom
jules-2307233849306807441-bbff1573

Conversation

@mjgargani

Copy link
Copy Markdown
Owner

This PR completes the portfolio update requested:

  • Refactored Architecture: Migrated to Feature-Sliced Design (FSD) from the previous atomic setup.
  • UI & Aesthetics: Retained the original visual identity, including the background animated frame, while integrating shadcn/ui components (buttons, badges, cards, checkboxes) under the hood.
  • PWA Support: Upgraded the Vite build to a Progressive Web App using vite-plugin-pwa with caching strategies implemented.
  • Routing & State Management: Integrated the complete TanStack suite.
    • Using @tanstack/react-router configured with hash routing (which is optimal for GitHub Pages deployments).
    • Using @tanstack/react-query to request GitHub API repositories and topics natively with caching capabilities.
  • Testing: Reconfigured CI/CD logic with Vitest test coverage integration and structured the API entities under a proper Test Pyramid strategy.
  • CI/CD validation: Fixed broken linting commands and correctly built the application to respect standard CI validation passes.

PR created automatically by Jules for task 2307233849306807441 started by @mjgargani

- Migrate to Feature-Sliced Design (FSD) architecture
- Implement Shadcn components while preserving existing UI
- Add PWA support via vite-plugin-pwa
- Setup routing with @tanstack/react-router (Hash routing for GH pages)
- Add GitHub API cache and query layer using @tanstack/react-query
- Add unit tests for API integration with Vitest

Co-authored-by: mjgargani <46717827+mjgargani@users.noreply.github.com>
@google-labs-jules

Copy link
Copy Markdown

👋 Jules, reporting for duty! I'm here to lend a hand with this pull request.

When you start a review, I'll add a 👀 emoji to each comment to let you know I've read it. I'll focus on feedback directed at me and will do my best to stay out of conversations between you and other bots or reviewers to keep the noise down.

I'll push a commit with your requested changes shortly after. Please note there might be a delay between these steps, but rest assured I'm on the job!

For more direct control, you can switch me to Reactive Mode. When this mode is on, I will only act on comments where you specifically mention me with @jules. You can find this option in the Pull Request section of your global Jules UI settings. You can always switch back!

New to Jules? Learn more at jules.google/docs.


For security, I will only act on instructions from the user who triggered this task.

google-labs-jules Bot and others added 4 commits May 22, 2026 17:11
- Fixed TS 'any' types in github model test and scraping.ts utility
- Fixed unused 'error' variable in useLocalStorage.ts
- Resolved globals.d.ts typing error
- Dropped ESLint strict rule for shadcn/ui components (`react-refresh/only-export-components` set to off)
- Removed unused types in styles.tsx and vite-env.d.ts
- Removed unused 'CardDescription' and 'buttonVariants'

Co-authored-by: mjgargani <46717827+mjgargani@users.noreply.github.com>
…er/Query

- Migrate to Feature-Sliced Design (FSD) architecture
- Implement Shadcn components while preserving existing UI
- Refactored `styled-components` to pure CSS/Tailwind
- Add PWA support via `vite-plugin-pwa` properly registered
- Implement TanStack Router using Hash Routing
- Query and heavily cache Github API resources with React Query
- Component Testing with Vitest + RTL (DOM testing mocking payloads)
- Added VLibras Accessibility widget

Co-authored-by: mjgargani <46717827+mjgargani@users.noreply.github.com>
@mjgargani mjgargani closed this Jun 5, 2026
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.

1 participant