A modern React-based web interface for an AI-powered programming assistant that helps developers with code analysis, repository exploration, and programming queries.
- AI-Powered Chat Interface: Interactive chat with an AI programming assistant
- Multi-Session Support: Create and manage multiple chat sessions
- Repository Integration: Connect and analyze GitHub repositories
- Web URL Analysis: Analyze content from web URLs
- File Upload Support: Upload and analyze code files and PDFs
- Real-time Streaming: Live streaming responses from the AI
- Code Syntax Highlighting: Beautiful code block rendering with syntax highlighting
- User Authentication: Secure login and session management
- Frontend Framework: React 19 with Vite
- Styling: Tailwind CSS
- UI Components: Radix UI primitives
- State Management: React hooks with use-immer
- HTTP Client: Axios with authentication interceptors
- Routing: React Router DOM
- Notifications: Sonner toast notifications
- Code Highlighting: Custom CodeBlock components
- Markdown Rendering: ReactMarkdown
-
Clone the repository
git clone <repository-url> cd git_check/frontend
-
Install dependencies
npm install
-
Start the development server
npm run dev
-
Open your browser Navigate to
http://localhost:5173
src/
├── components/ # Reusable UI components
│ ├── chatBot/ # Original chatbot components
│ ├── login/ # Authentication components
│ ├── signup/ # User registration
│ └── ui/ # Shadcn UI components
├── ComponentsTharundi/ # Main application components
│ ├── ChatWindow.jsx # Main chat interface
│ ├── SideBar.jsx # Session management sidebar
│ ├── Homepage.jsx # Main application layout
│ └── ... # Other feature components
├── contexts/ # React context providers
├── hooks/ # Custom React hooks
├── utils/ # Utility functions and API helpers
└── assets/ # Static assets
The application connects to a backend API running on http://localhost:8000
. Make sure your backend server is running before starting the frontend.
The project uses Vite path aliases configured in vite.config.js
:
@/
maps to thesrc/
directory
npm run dev
- Start development servernpm run build
- Build for productionnpm run preview
- Preview production buildnpm run lint
- Run ESLint
The application includes a complete authentication system:
- User registration and login
- JWT token management
- Protected routes
- Automatic token validation
- Session persistence
- Create new chat sessions
- Browse previous conversations
- Search through chat history
- Delete unwanted sessions
- File Upload: Support for code files and PDFs
- Repository Integration: Analyze GitHub repositories
- Web URL Analysis: Extract and analyze web content
- Real-time streaming responses
- Code syntax highlighting
- Markdown formatting
- Error handling and retry mechanisms
The project uses a combination of:
- Shadcn UI: For base components (buttons, inputs, dialogs)
- Lucide React: For icons
- Tailwind CSS: For styling and responsive design
- Custom Components: For specialized chat and AI features
- RESTful API communication with the backend
- Authenticated requests using JWT tokens
- File upload with FormData
- Server-Sent Events (SSE) for streaming 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 part of a Programming Assistant AI Bot system. Please refer to the main project license for usage terms.
- Backend API:
../backend
(if applicable) - Documentation: Link to full project documentation
Built with ❤️ using React and modern web technologies.