Skip to content
This repository was archived by the owner on May 29, 2026. It is now read-only.
This repository was archived by the owner on May 29, 2026. It is now read-only.

Modernization roadmap #45

Description

@LiukScot

Modernization Roadmap — notes

Stack attuale

  • Monorepo: Turbo 2 + Bun 1.3 — apps/server (Hono) + apps/web (React) + packages/shared (Zod schemas)
  • Backend: Bun + Hono 4 + Drizzle ORM + Zod 4 + @hono/zod-validator
  • Frontend: React 19 + TanStack Router 1 (file-based) + Vite 6 + Zustand 5 + TanStack Query 5 + Tailwind 4 + Mantine 8 + Radix UI + BlockNote editor + Lucide + Emoji Mart
  • Test: Vitest + @testing-library + MSW + Playwright + Bun native test

Verdetto

🟢 LOW priority — reference repo. Stack più moderno tra i 5. Da' direzione agli altri (Tailwind, Drizzle, Hono, TanStack stack completo). Punti di rifinitura solo.

Checklist upgrade

🟡 MEDIUM priority

  • Estrarre apps/web/src/lib/api.ts (164 righe) in packages/api-client

    • API client diventa pacchetto workspace condivisibile. Domani altri apps (health, money) potranno installarlo.
    • Type-safety end-to-end: schemas in packages/shared + client che li importa.
    • Mental model: monorepo = condivisione effettiva, non solo cartelle vicine. Sposta in packages/ per usarlo davvero.
  • Tailwind config file dedicato

    • V4 usa @theme in CSS, ma senza tailwind.config.ts perdi: plugin custom, content scanning esplicito, IntelliSense in editor.
    • Crea config minimale per centralizzare design tokens (colors, font sizes, spacing scale).

🟢 LOW priority

  • Dark mode tokens centralizzati

    • Mantine ha theming proprio, Tailwind ha dark: variant. Allineare: un solo source of truth per dark colors.
    • Suggerimento: tokens in Tailwind (CSS vars), Mantine consuma via cssVariablesResolver.
  • Framework consolidation eval

    • Stay. TanStack Router = già l'opzione più type-safe del mercato. Next.js sarebbe regressione (perderesti type-safety route params).
    • SSR via TanStack Start eventualmente, ma non necessario per app personale.
  • Audit BlockNote

    • BlockNote v0.47 = aggiornare a major recenti se uscite. Editor blocks è componente più complesso del repo.
  • Considerare versionamento pacchetti shared

    • packages/shared ora è "internal". Se vuoi pubblicare/riusare cross-repo: changesets + npm scope @myenergy/* privato.

🔧 Note strategiche

  • Questo repo serve da template per modernizzare gli altri. Quando rifattori money o gooncave, copia pattern da qui:
    • apps/server/src/middleware/auth.ts — middleware Hono pulito
    • packages/shared/src/validators.ts — Zod schemas riusabili
    • apps/web/src/lib/store.ts — Zustand minimale
    • apps/web/src/lib/api.ts — wrapper fetch typed

🤖 Roadmap generated by Claude Code after full repo audit. Co-authored-by: Claude Opus 4.7 (1M context) noreply@anthropic.com

Metadata

Metadata

Assignees

Labels

enhancementNew feature or request

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions