This is a comprehensive hospital management system for RSUD DRS H. Amri Tambunan, a public hospital in North Sumatra, Indonesia. The application serves as both a public-facing website and an internal management system, allowing patients to browse services, view doctor information, and book appointments online. The system provides a modern web interface showcasing the hospital's medical services, specialist doctors, and contact information.
Preferred communication style: Simple, everyday language.
- Framework: React 18 with TypeScript using Vite as the build tool
- Routing: Wouter for lightweight client-side routing
- UI Components: shadcn/ui component library built on Radix UI primitives
- Styling: Tailwind CSS with custom design system and CSS variables for theming
- State Management: TanStack Query (React Query) for server state management
- Form Handling: React Hook Form with Zod validation resolvers
- Runtime: Node.js with Express.js framework
- Language: TypeScript with ES modules
- API Design: RESTful API with resource-based endpoints
- Middleware: Custom logging middleware for request tracking
- Error Handling: Centralized error handling with standardized error responses
- Development: Hot module replacement with Vite middleware integration
- Database: PostgreSQL using Drizzle ORM for type-safe database operations
- Schema Management: Drizzle Kit for migrations and schema management
- Development Storage: In-memory storage implementation for development/testing
- Connection: Neon Database serverless PostgreSQL for production
- Users: Authentication and user management
- Doctors: Specialist information with schedules and specializations
- Services: Hospital services categorized by medical departments
- Appointments: Patient appointment booking and management
- Hospital Info: Configurable system settings and contact information
- Database: Neon Database (@neondatabase/serverless) for serverless PostgreSQL
- UI Framework: Radix UI components for accessible, unstyled UI primitives
- Icons: Font Awesome for consistent iconography
- Fonts: Google Fonts integration (Inter, DM Sans, Fira Code, Geist Mono)
- Development Tools: Replit-specific plugins for development environment integration
- Session Management: connect-pg-simple for PostgreSQL session storage
- Date Handling: date-fns for date manipulation and formatting
- Communication: WhatsApp integration for customer support