UPDATE: MOST OF THE SERVICES USED MIGHT HAVE STOPPED WORKING IN THE DEPLOYMENT DUE TO TRIAL LIMITS. PLEASE CHECK THE DEMO VIDEO TO SEE THE FUNCTIONALITY OR DEPLOY YOUR OWN INSTANCE.
EduBox is your intelligent student hub that organizes notes, schedules, assignments, and campus life in one place. Powered by AI, it streamlines your academic journey with smart organization, intelligent planning, and seamless campus life integration.
- šļø Smart File Management - AI-powered organization and semantic search
- š Intelligent Planner - Never miss deadlines with smart scheduling
- š« Campus Life Hub - Stay connected with clubs, events, and dining
- š¤ AI Assistant - Get instant answers about your academic life
- š Analytics Dashboard - Track your academic progress
EduBox is an intelligent student hub that organizes notes, schedules, assignments, and campus life in one place. It uses AI to help with organization, planning, and finding what you need quickly.
graph TB
%% User Interface Layer
subgraph "User Interface"
UI[Next.js Frontend<br/>React + TypeScript + Tailwind]
DASH[Dashboard Components<br/>Planner, File Hub, Campus Life]
CHAT[AI Chat Interface<br/>CopilotKit]
SEARCH[Global Search<br/>Nuclia RAG]
IMPORT[Data Import/Export<br/>CSV, JSON, PDF]
end
%% Application Layer
subgraph "Application Logic"
CONVEX[Convex Functions<br/>Serverless Backend]
AUTH[Authentication<br/>Clerk]
BILLING[Billing & Feature Gates<br/>Schematic]
ANALYTICS[Usage Analytics<br/>Vercel Analytics]
end
%% Data Layer
subgraph "Data Storage"
DB[(Convex Database<br/>Real-time DB)]
FILES[File Storage<br/>Cloud Storage]
KB[(Nuclia Knowledge Base<br/>Document Processing)]
end
%% AI & ML Services
subgraph "AI Services"
GEMINI[Google Gemini<br/>LLM via AI SDK]
GROQ[Groq<br/>Fast Inference]
COPILOT[CopilotKit Runtime<br/>AI Actions & Chat]
NUCLIARAG[Nuclia RAG<br/>Retrieval-Augmented Generation]
end
%% Backend Services
subgraph "Backend Services"
SYNC[Nuclia Sync Service<br/>Node.js Backend<br/>Document Processing]
PDFPROCESS[PDF Processing<br/>Text Extraction]
SCHEDULEOPT[Schedule Optimization<br/>AI-powered Planning]
end
%% External Integrations (Planned)
subgraph "FUTURE SCOPE"
CALENDAR[Google Calendar<br/>Sync UI Ready]
YOUTUBE[YouTube API<br/>Video Integration UI Ready]
OUTLOOK[Microsoft Outlook<br/>Email & Calendar]
DRIVE[Google Drive<br/>File Sync]
ZOOM[Zoom<br/>Meeting Integration]
end
%% Connections
UI --> CONVEX
UI --> AUTH
UI --> BILLING
UI --> COPILOT
UI --> SEARCH
UI --> ANALYTICS
CONVEX --> DB
CONVEX --> FILES
CHAT --> COPILOT
COPILOT --> GEMINI
COPILOT --> GROQ
SEARCH --> NUCLIARAG
NUCLIARAG --> KB
NUCLIARAG --> SYNC
IMPORT --> PDFPROCESS
DASH --> SCHEDULEOPT
%% Planned connections (dashed)
DASH -.-> CALENDAR
DASH -.-> YOUTUBE
DASH -.-> OUTLOOK
DASH -.-> DRIVE
DASH -.-> ZOOM
%% Styling
classDef frontend fill:#e1f5fe
classDef backend fill:#f3e5f5
classDef data fill:#e8f5e8
classDef ai fill:#fff3e0
classDef external fill:#fafafa
classDef planned fill:#ffebee
class UI,DASH,CHAT,SEARCH,IMPORT frontend
class CONVEX,AUTH,BILLING,ANALYTICS backend
class DB,FILES,KB data
class GEMINI,GROQ,COPILOT,NUCLIARAG ai
class SYNC,PDFPROCESS,SCHEDULEOPT external
class CALENDAR,YOUTUBE,OUTLOOK,DRIVE,ZOOM planned
Frontend Layer:
- Next.js 15 with App Router for modern React development
- TypeScript for type safety and better DX
- Tailwind CSS + Shadcn/ui for responsive, accessible UI
- Component Architecture: Modular components for dashboard, chat, file management, data import/export
Backend Layer:
- Convex for real-time database and serverless functions
- Custom Nuclia Sync Service for document processing and RAG
- Clerk for authentication and user management
- Schematic for billing and feature gating
AI & ML Layer:
- CopilotKit for AI chat interface and actions
- Google Gemini & Groq for large language model inference via Vercel AI SDK
- Nuclia RAG for retrieval-augmented generation and semantic search
Data Processing:
- PDF Processing for text extraction from uploaded documents
- Schedule Optimization using AI for intelligent planning
- Data Import/Export supporting multiple formats (CSV, JSON, PDF)
Planned Integrations:
- Google Calendar - Schedule synchronization (UI components ready)
- YouTube API - Video content integration (API key configured)
- Microsoft Outlook - Email and calendar integration
- Google Drive - File synchronization
- Zoom - Meeting scheduling and integration
Click to expand media
Beautiful landing page with threejs component

Main dashboard showing all features and quick access

Academic progress tracking and analytics

Conversation with AI assistant having Tools

Retrieval-augmented generation Usage

Knowledge base and document processing in NucliaDB

Intelligent planning and schedule management

File organization and management interface

Advanced file operations and search

Data import and export functionality

Nuclia Document synchronization service

Convex Real-time database management

- Node.js 18+ and pnpm
- Git
- Accounts for: Clerk, Convex, Schematic, Nuclia (Progress RAG), Google AI, Groq
Make Sure you know about each cloud service's dashboard setup and pricing. We do not discuss that here.
git clone https://github.com/ARYPROGRAMMER/EduBox.git cd EduBox
For the complete development experience with all services running:
# Install all dependencies npm run setup # Configure environment variables cp frontend/env.example frontend/.env.local # Edit frontend/.env.local with your API keys # Start all services npm run dev
This will run:
- Frontend (Next.js) on http://localhost:3000
- Convex backend functions
- Nuclia sync service on port 4000
Run the Nuclia sync service for document processing and RAG functionality.
# Navigate to backend cd backend/nuclia-sync # Install dependencies npm install # Create environment file cp .env.example .env # Edit .env with your NUCLIA_API_KEY and other required variables # Start the sync service npm start
Environment Variables for Backend:
PORT=4000 NUCLIA_API_KEY=your_nuclia_api_key NUCLIA_API_URL=https://nuclia.cloud/api NUCLIA_DEFAULT_KB=your_default_kb_id
Run the Next.js application with all UI components and integrations.
# Navigate to frontend cd frontend # Install dependencies pnpm install # Create environment file cp env.example .env.local # Edit .env.local with all required API keys (see Environment Variables section below) # Start development server pnpm dev
Complete setup with AI chat, RAG search, database, billing, and authentication.
# 1. Setup Convex (Database & Backend Functions) cd frontend npx convex dev --once # Initialize Convex project # Follow prompts to create/link your Convex project # 2. Setup Environment Variables cp env.example .env.local # Fill in all required variables (see below) # 3. Start Convex Backend npx convex dev # 4. In another terminal, start Frontend pnpm dev # 5. Start Backend Sync Service (in third terminal) cd ../backend/nuclia-sync npm start
Create .env.local in the frontend directory with:
# Authentication NEXT_PUBLIC_CLERK_PUBLISHABLE_KEY=pk_test_... CLERK_SECRET_KEY=sk_test_... # Database CONVEX_DEPLOYMENT=your_convex_deployment NEXT_PUBLIC_CONVEX_URL=https://your-deployment.convex.cloud # AI Services GOOGLE_GENERATIVE_AI_API_KEY=your_google_ai_key GROQ_API_KEY=your_groq_key GOOGLE_API_KEY=your_google_api_key # CopilotKit AI Chat NEXT_PUBLIC_COPILOTKIT_PUBLIC_LICENSE_KEY=your_copilotkit_license NEXT_PUBLIC_COPILOTKIT_PUBLIC_API_KEY=your_copilotkit_api_key # Nuclia RAG (Progress/Kendo) NEXT_PUBLIC_NUCLIA_SYNC_URL=http://localhost:4000 NEXT_PUBLIC_NUCLIA_API_KEY=your_nuclia_api_key # Billing & Feature Gates NEXT_PUBLIC_SCHEMATIC_PUBLISHABLE_KEY=your_schematic_pub_key SCHEMATIC_API_KEY=your_schematic_secret_key NEXT_PUBLIC_SCHEMATIC_COMPONENT_ID=your_component_id
- Nuclia RAG - Retrieval-augmented generation (Trial) (Progress/Kendo)
- Kendo UI - Enterprise UI components (licensed Trial)
- Next.js 15.5.2 - React framework with App Router
- React 19.1.0 - UI library with concurrent features
- TypeScript 5.5.4 - Type-safe JavaScript
- Tailwind CSS 3.4.17 - Utility-first CSS framework
- Shadcn/ui - Modern component library built on Radix UI
- MagicUI - Animated UI components
- Aceternity UI - Additional UI components
- Framer Motion - Animation library
- Three.js - 3D graphics and interactive droplets
- Clerk - Complete authentication and user management
- Schematic - Feature gating and billing management
- Convex - Real-time database with serverless functions
- CopilotKit with GROQ - AI chat interface and actions
- Vercel AI SDK - Unified AI API interface
- Tsparticles - Interactive particle effects
- React Dropzone - File upload handling
- React Markdown - Markdown rendering
- Recharts - Data visualization
- Date-fns - Date manipulation
- Zod - Schema validation
# Quick setup for everything npm run setup # Install all dependencies and show next steps npm run dev # Start all services (frontend + convex + backend) npm install:all # Install dependencies for all services
cd frontend # Development pnpm dev # Start dev server with Turbopack pnpm build # Production build pnpm start # Production server pnpm lint # ESLint checking # Convex Database npx convex dev # Start Convex development npx convex deploy # Deploy Convex functions npx convex dashboard # Open Convex dashboard
cd backend/nuclia-sync # Development npm run dev # Start with auto-restart (nodemon) npm start # Production start
For running multiple services simultaneously, consider using a process manager like PM2 or concurrently.
CopilotKit not working:
- Verify
NEXT_PUBLIC_COPILOTKIT_PUBLIC_LICENSE_KEYandNEXT_PUBLIC_COPILOTKIT_PUBLIC_API_KEYare set - Check browser console for CopilotKit initialization errors
Convex connection failed:
- Ensure
npx convex devis running - Verify
CONVEX_DEPLOYMENTandNEXT_PUBLIC_CONVEX_URLare correct - Run
npx convex dashboardto check deployment status
Nuclia RAG not responding:
- Ensure backend sync service is running on port 4000
- Check
NEXT_PUBLIC_NUCLIA_API_KEYis valid - Verify Nuclia knowledge box configuration
Schematic billing not working:
- Confirm
NEXT_PUBLIC_SCHEMATIC_PUBLISHABLE_KEYandSCHEMATIC_API_KEYare set - Check Schematic dashboard for component configuration
Build errors:
- Ensure all environment variables are set
- Try
pnpm installto refresh dependencies - Check Node.js version (18+ required)
Run this script to verify your environment:
# In frontend directory node -e " console.log('Node version:', process.version); console.log('Environment check:'); console.log('CLERK_KEY:', !!process.env.NEXT_PUBLIC_CLERK_PUBLISHABLE_KEY); console.log('CONVEX_URL:', !!process.env.NEXT_PUBLIC_CONVEX_URL); console.log('COPILOTKIT_KEY:', !!process.env.NEXT_PUBLIC_COPILOTKIT_PUBLIC_LICENSE_KEY); console.log('NUCLIA_KEY:', !!process.env.NEXT_PUBLIC_NUCLIA_API_KEY); console.log('SCHEMATIC_KEY:', !!process.env.NEXT_PUBLIC_SCHEMATIC_PUBLISHABLE_KEY); "
EduBox/
āāā frontend/ # Next.js application
ā āāā app/ # App Router pages and API routes
ā āāā components/ # React components
ā ā āāā magicui/ # MagicUI components
ā ā āāā schematic/ # Schematic billing components
ā ā āāā ui/ # Shadcn/ui components
ā āāā convex/ # Convex database schema and functions
ā āāā lib/ # Utility libraries
ā āāā hooks/ # Custom React hooks
ā āāā types/ # TypeScript type definitions
āāā backend/
ā āāā nuclia-sync/ # Nuclia document sync service
āāā README.md
- Fork the repository
- Create a feature branch:
git checkout -b feature/amazing-feature - Commit changes:
git commit -m 'Add amazing feature' - Push to branch:
git push origin feature/amazing-feature - Open a Pull Request
- Use TypeScript for all new code
- Follow ESLint configuration
- Test components with React Testing Library
- Update Convex schema for database changes
- Document new environment variables
This project is licensed under the MIT License - see the LICENSE file for details.






