Vitharith is a modern, AI-powered quiz platform designed to help educators gain real-time insights into student comprehension. The platform enables teachers to create, distribute, and analyze quizzes with powerful AI-assisted features.
🔗 Live Demo: https://vidharith.vercel.app/
- Interactive Quiz Creation: Build custom quizzes with various question types
- Real-time Analytics Dashboard: Monitor student responses as they happen
- AI-Powered Question Generation: Automatically generate questions from uploaded materials
- Comprehensive Student Insights:
- Individual student performance analysis
- Class-wide performance metrics
- Topic-wise strength and weakness identification
- Material Management: Upload and organize teaching materials in one place
- Real-time Data Sync: Instant updates across all devices
- AI Integration: Leverages Google's Generative AI for question generation
- Responsive Design: Works seamlessly on desktop and mobile devices
- Secure Authentication: Built with Clerk for secure user management
- Framework: Next.js 14 (App Router)
- UI Components: Radix UI Primitives and Shadcn UI
- Styling: Tailwind CSS with custom theming
- State Management: React Hooks + Convex
- Form Handling: React Hook Form with Zod validation
- Charts & Visualizations: Recharts
- Database & Real-time Sync: Convex
- Authentication: Clerk
- AI/ML: Google Generative AI
- API Routes: Next.js API Routes
- Type Safety: TypeScript
- Code Formatting: ESLint + Prettier
- Version Control: Git
- Package Manager: npm
- Node.js 18+
- npm or yarn
- Convex account
- Google Cloud account (for AI features)
-
Clone the repository
git clone https://github.com/yourusername/vitharith.git cd vitharith -
Install dependencies
npm install # or yarn -
Set up Convex
# Install Convex CLI globally if you haven't already npm install -g convex # Log in to Convex npx convex init # Push your schema and functions to Convex npx convex dev
-
Set up environment variables Create a
.env.localfile in the root directory and add the following variables:# Convex CONVEX_DEPLOYMENT=your_convex_deployment NEXT_PUBLIC_CONVEX_URL=your_convex_url # Get this from Convex dashboard after setup # Clerk Authentication NEXT_PUBLIC_CLERK_PUBLISHABLE_KEY=your_clerk_publishable_key CLERK_SECRET_KEY=your_clerk_secret_key # Google AI GOOGLE_AI_KEY=your_google_ai_key # Application NEXT_PUBLIC_WEBSITE_URL=http://localhost:3000
After running
npx convex dev, it will provide you with theNEXT_PUBLIC_CONVEX_URLthat you need to add to your environment variables. -
Run the development server
npm run dev # or yarn dev -
Open http://localhost:3000 in your browser
Contributions are welcome! Please feel free to submit a Pull Request.
- Fork the Project
- Create your Feature Branch (
git checkout -b feature/AmazingFeature) - Commit your Changes (
git commit -m 'Add some AmazingFeature') - Push to the Branch (
git push origin feature/AmazingFeature) - Open a Pull Request
Distributed under the MIT License. See LICENSE for more information.
K. Sai Rithvik Reddy - @DSToday1 - rithvikreddy524@gmail.com
Project Link: https://github.com/Rithvik119am/VidhaRith


