A modern, responsive web interface for the AzizChatbot AI - an intelligent Arabic chatbot specialized for King Abdulaziz University (KAU) queries. Built with Next.js 15 and React 19.
- Modern UI/UX: Clean and intuitive chat interface with dark/light theme support
- RTL Support: Full right-to-left support for Arabic language
- Responsive Design: Works seamlessly on desktop and mobile devices
- Real-time Chat: Instant messaging with the AI backend
- Cloudflare Turnstile: Bot protection integration
- Particle Effects: Beautiful animated background using tsParticles
- Authentication: User authentication powered by Better Auth
- Markdown Support: Rich text rendering for AI responses
- Framework: Next.js 15. 2.4 (with Turbopack)
- Language: TypeScript
- UI Library: React 19
- Styling: Tailwind CSS 4
- UI Components: Radix UI (Accordion, Dialog, Dropdown, Avatar, etc.)
- State Management: TanStack React Query
- Forms: React Hook Form + Zod validation
- HTTP Client: Axios
- Icons: Lucide React, React Icons
- Animations: tw-animate-css, tsParticles
- Package Manager: pnpm
- Node.js 22 or higher
- pnpm 9. 12. 1+
-
Clone the repository:
git clone https://github. com/AzizChatbot/azizchatbot-frontend.git cd azizchatbot-frontend -
Install dependencies:
pnpm install
-
Create a
.envfile based on.env.example:NEXT_PUBLIC_BACKEND_URL=http://localhost:4000 NEXT_PUBLIC_CLOUDFLARE_TURNSTILE_SITE_KEY="your-turnstile-site-key"
-
Run the development server:
pnpm dev
-
Open http://localhost:3000 in your browser.
pnpm build
pnpm start-
Build and run using Docker Compose:
docker-compose up --build
Or using Docker directly:
docker build -t azizchatbot-frontend . docker run -p 3000:3000 azizchatbot-frontend
azizchatbot-frontend/
├── src/
│ ├── app/ # Next.js App Router pages
│ ├── components/ # Reusable React components
│ ├── hooks/ # Custom React hooks
│ ├── lib/ # Utility functions and configurations
│ ├── types/ # TypeScript type definitions
│ └── middleware.ts # Next.js middleware
├── public/ # Static assets
├── package.json # Dependencies and scripts
├── Dockerfile # Multi-stage Docker build
├── docker-compose.yaml # Docker Compose configuration
├── tailwind.config.ts # Tailwind CSS configuration
├── tsconfig.json # TypeScript configuration
└── next.config.mjs # Next. js configuration
| Command | Description |
|---|---|
pnpm dev |
Start development server with Turbopack |
pnpm build |
Build for production |
pnpm start |
Start production server |
pnpm lint |
Run ESLint |
This project is open source and available under the MIT License.
Made with ❤️ for King Abdulaziz University