A modern Vue 3 application for interacting with an AI chatbot, built with TypeScript, Vite, and Pinia for state management.
- 🚀 Lightning-fast with Vite's modern build tooling
- 💬 Real-time chat interface with AI responses
- 👤 User management and authentication
- 📱 Responsive design with Tailwind CSS
- 🔄 Persistent state with Pinia store
- Frontend Framework: Vue 3 with Composition API
- Build Tool: Vite
- Language: TypeScript
- State Management: Pinia with persistence
- Routing: Vue Router
- API Communication: Axios
- Styling: Tailwind CSS
src/
├── components/ # Reusable Vue components
│ ├── ChatInput.vue
│ └── Header.vue
├── hooks/ # Custom hooks including API functionality
│ └── api.ts # Axios instance and API utilities
├── router/ # Vue Router configuration
│ └── index.ts
├── stores/ # Pinia state management
│ ├── chat.ts # Chat interactions and history
│ └── user.ts # User authentication and profile
├── views/ # Page components
│ ├── ChatView.vue
│ └── HomeView.vue
└── assets/ # Static assets
- Node.js (v16+)
- npm or yarn
-
Clone the repository:
git clone <repository-url> cd chat-ai-ui
-
Install dependencies:
npm install # or yarn -
Create a
.envfile in the root directory with the following variables:VITE_API_URL=<your-backend-api-url>
npm run dev
# or
yarn devThis will start the development server at http://localhost:5173 (default).
npm run build
# or
yarn buildThe build artifacts will be stored in the dist/ directory.
npm run preview
# or
yarn previewThe application communicates with a backend API using Axios. API endpoints include:
/register-user- User registration/get-messages- Retrieve chat history/chat- Send messages to the AI and receive responses
- Fork the repository
- Create your feature branch:
git checkout -b feature/amazing-feature - Commit your changes:
git commit -m 'Add some amazing feature' - Push to the branch:
git push origin feature/amazing-feature - Open a Pull Request
This project is licensed under the MIT License - see the LICENSE file for details.