This is a modern full-stack web application built with React frontend and Express.js backend. The project serves as a "Hello World" demonstration showcasing contemporary web development practices with a beautiful, responsive UI and well-structured architecture. It uses TypeScript throughout, implements modern styling with Tailwind CSS and shadcn/ui components, and is configured for both PostgreSQL database integration and in-memory storage fallback.
Preferred communication style: Simple, everyday language.
- Framework: React 18 with TypeScript and Vite for fast development and building
- Routing: Wouter for lightweight client-side routing with two main routes (Home and 404)
- Styling: Tailwind CSS with shadcn/ui component library using the "new-york" style variant
- State Management: TanStack React Query for server state management and data fetching
- UI Components: Comprehensive shadcn/ui component system with Radix UI primitives
- Build System: Vite with custom configuration for development and production builds
- Framework: Express.js with TypeScript running on Node.js
- API Structure: RESTful design with all routes prefixed under
/api - Error Handling: Centralized error handling middleware with structured error responses
- Development Setup: Hot reload with tsx and comprehensive logging for API requests
- Storage Interface: Abstracted storage layer supporting both in-memory and database implementations
- Primary Database: PostgreSQL with Neon serverless database driver
- ORM: Drizzle ORM with migrations support and Zod schema validation
- Fallback Storage: In-memory storage implementation for development/testing
- Schema Management: Shared schema definitions between frontend and backend using Drizzle-Zod integration
- Session Management: PostgreSQL-backed sessions using connect-pg-simple
- User Schema: Basic user model with username/password fields and UUID primary keys
- Validation: Zod schemas for request validation and type safety
- Development: Concurrent frontend (Vite) and backend (tsx) development servers
- Production Build: Frontend builds to
dist/public, backend bundles with esbuild - TypeScript: Strict configuration with path mapping for clean imports
- Environment: Support for both development and production environments with appropriate optimizations
- Neon Database: Serverless PostgreSQL database provider via
@neondatabase/serverless - Connection: Uses
DATABASE_URLenvironment variable for database connectivity
- shadcn/ui: Comprehensive component library built on Radix UI primitives
- Tailwind CSS: Utility-first CSS framework with custom design system
- Radix UI: Accessible component primitives for complex UI elements
- Lucide React: Icon library for consistent iconography
- Vite: Frontend build tool with React plugin and development server
- Replit Integration: Custom plugins for Replit development environment support
- esbuild: Backend bundling for production builds
- PostCSS: CSS processing with Tailwind and Autoprefixer
- TanStack React Query: Server state management and caching
- React Hook Form: Form handling with Hookform resolvers
- date-fns: Date manipulation and formatting utilities
- Google Fonts: Inter font family for modern typography
- Font Awesome: Icon library for additional iconography options