An AI-powered question and answer platform built with React and TypeScript. Users can create rooms, ask questions, and receive AI-generated responses in an intuitive interface.
- Room Creation: Create dedicated spaces for Q&A sessions
- AI-Powered Responses: Get intelligent answers powered by AI agents
- Real-time Updates: Dynamic question and answer display
- Modern UI: Clean, responsive interface with TailwindCSS
- React 19.1.0 - Modern React with latest features
- TypeScript 5.8.3 - Type-safe JavaScript
- Vite 7.0.3 - Lightning-fast build tool
- TailwindCSS 4.1.11 - Utility-first CSS framework
- Radix UI - Unstyled, accessible UI components
- Lucide React - Beautiful icon library
- Class Variance Authority - Type-safe variant styling
- TanStack React Query 5.81.5 - Server state management
- React Hook Form 7.60.0 - Form state management
- Zod 4.0.5 - Schema validation
- React Router DOM 7.6.3 - Client-side routing
- Day.js 1.11.13 - Lightweight date library
- Biome 2.0.6 - Fast linter and formatter
- Ultracite - Opinionated configuration preset
src/
├── components/ # Reusable UI components
│ ├── ui/ # Base UI components (shadcn/ui style)
│ ├── create-room-form.tsx
│ ├── question-form.tsx
│ ├── question-item.tsx
│ └── room-list.tsx
├── pages/ # Page components
│ ├── create-room.tsx
│ └── room.tsx
├── http/ # API utilities and hooks
│ ├── types/ # TypeScript type definitions
│ ├── use-create-room.ts
│ └── use-rooms.ts
├── lib/ # Utility functions
│ ├── dayjs.ts
│ └── utils.ts
├── app.tsx # Main app component
└── main.tsx # Application entry point
- Atomic Design - Hierarchical component structure
- Compound Components - Flexible, reusable UI patterns
- Props Interface - Strong TypeScript typing for all components
- Server State - TanStack Query for API data
- Form State - React Hook Form for form management
- Local State - React hooks for component state
- Custom Hooks - Encapsulated API logic
- Type Safety - Zod schemas for runtime validation
- Error Handling - Proper error boundaries and states
- Node.js 18+
- npm, yarn, or pnpm
-
Clone the repository
git clone <repository-url> cd web
-
Install dependencies
npm install # or yarn install # or pnpm install
-
Start the development server
npm run dev # or yarn dev # or pnpm dev
-
Open your browser
http://localhost:5173
npm run dev- Start development servernpm run build- Build for productionnpm run preview- Preview production build
The project uses path aliases for cleaner imports:
// Instead of: import { Button } from '../../../components/ui/button'
import { Button } from '@/components/ui/button'- Biome - Fast linting and formatting
- TypeScript - Strict type checking
- Ultracite - Opinionated configuration preset
- TailwindCSS - Utility-first styling
- CSS Variables - Theme customization
- Responsive Design - Mobile-first approach
- Fork the repository
- Create a feature branch
- Make your changes
- Run linting and type checking
- Submit a pull request
This project is licensed under the MIT License.
Built with ❤️ using React, TypeScript, and TailwindCSS


