What problem does it solve?
It removes inconsistency and rework when building a full-stack JavaScript app by standardizing architecture, typing, routing, data fetching, form handling, and UI behavior rules.
Core Features & Use Cases
- Shared type-safe data modeling: Define the app data model first in
shared/schema.ts, then derive insert/select schemas and types to keep frontend and backend consistent.
- Reliable backend CRUD patterns: Centralize storage operations in
server/storage.ts, keep routes thin in server/routes.ts, and validate request bodies with Zod schemas generated from the Drizzle models.
- Predictable frontend UX and styling: Use
wouter for routing, @tanstack/react-query for fetching/mutations with cache invalidation, shadcn useForm/Form patterns for forms, and the established hover/elevation, sidebar, layout, and dark-mode rules to maintain visual coherence.
Quick Start
Follow the architecture and type-validation order by first implementing shared/schema.ts, then updating server/storage.ts and server/routes.ts, and finally wiring the UI with wouter, TanStack Query, and shadcn forms while applying the hover/elevation and sidebar layout rules.