An AI-powered data chat platform that allows users to upload company data files and have intelligent conversations with an AI assistant that can answer questions based on that data.
- AI Chat Interface: Real-time conversations with an AI assistant
- Data Management: Upload and process company data files (.txt)
- Vector Database: Semantic search using Pinecone
- Knowledge Base: Intelligent responses based on uploaded documents
- Chat History: Persistent conversation management
- Authentication: Secure admin access
- Responsive Design: Works on mobile and desktop
- Frontend: Next.js 15 with App Router
- Language: TypeScript
- Styling: Tailwind CSS v4.1
- State Management: Zustand
- AI/ML: LangChain, HuggingFace models
- Vector Database: Pinecone
- Authentication: Firebase Auth
- Database: Firebase Firestore
- Deployment: Vercel
- Node.js 18+
- npm, yarn, pnpm, or bun
- Clone the repository:
git clone https://github.com/DanyilLiubchakUk/VectorChat.git
cd vector-chat- Install dependencies:
npm install- Set up environment variables:
cp .env.example .env.local- Run the development server:
npm run devOpen http://localhost:3000 with your browser to see the result.
src/
├── app/
│ ├── (auth)/ # Authentication pages
│ ├── (dashboard)/ # Dashboard and chat pages
│ ├── api/ # API routes
│ └── globals.css # Global styles
├── components/ # Reusable components
├── lib/ # Utilities and configurations
├── store/ # State management
├── types/ # TypeScript type definitions
└── styles/ # Component styles
Create a .env.local file with the following variables:
# Firebase
NEXT_PUBLIC_FIREBASE_API_KEY=
FIREBASE_PROJECT_ID=
FIREBASE_PRIVATE_KEY=
FIREBASE_CLIENT_EMAIL=
# Pinecone
PINECONE_API_KEY=
PINECONE_INDEX_NAME=
# AI/ML
HUGGINGFACE_API_KEY=
HUGGINGFACE_MODEL_NAME=
# App Configuration
NEXT_PUBLIC_APP_NAME=VectorChat
NEXT_PUBLIC_APP_DESCRIPTION=AI-powered data chat platformThis project follows a strict pull request workflow:
main- Production-ready codedevelop- Integration branch for featuresfeature/*- New features (e.g.,feature/chat-interface)bugfix/*- Bug fixes (e.g.,bugfix/auth-error)hotfix/*- Critical production fixes
- Create a feature branch from
develop - Implement your changes with proper commits
- Write tests for new functionality
- Update documentation if needed
- Create a pull request with detailed description
- Code review and approval required
- Merge to
developafter approval - Deploy to staging for testing
- Merge
developtomainfor production
feat: add user authentication
fix: resolve chat history loading issue
docs: update API documentation
style: improve button component styling
refactor: optimize vector search algorithm
test: add unit tests for data processing
chore: update dependencies
This project is optimized for deployment on Vercel:
- Push your code to GitHub
- Connect your repository to Vercel
- Add your environment variables in Vercel dashboard
- Deploy!