An open API service indexing awesome lists of open source software.

https://github.com/aryprogrammer/edubox

This AI powered nextjs application is your ultimate solution to becoming better at managing student life. It leverages convex, gemini and kendo ui to make your personalised space. I found my student life unbalanced so making sure you can avoid that.
https://github.com/aryprogrammer/edubox

Last synced: 5 months ago
JSON representation

This AI powered nextjs application is your ultimate solution to becoming better at managing student life. It leverages convex, gemini and kendo ui to make your personalised space. I found my student life unbalanced so making sure you can avoid that.

Awesome Lists containing this project

README

          

**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](https://socialify.git.ci/ARYPROGRAMMER/EduBox/image?font=KoHo&forks=1&issues=1&language=1&name=1&owner=1&pattern=Floating+Cogs&stargazers=1&theme=Dark)

---


EduBox

Your intelligent student hub — notes, planner, campus life, and an AI assistant in one app.




Next.js


React


TypeScript


Tailwind CSS


Clerk


Live Demo


License


Demo Video Comprehensive Latest


Demo Video Old


---

## 🎓 About EduBox

**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.

## ✨ Features

- **🗂️ 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

---

## 🎓 About

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.

## 🏗️ Architecture

```mermaid
graph TB
%% User Interface Layer
subgraph "User Interface"
UI[Next.js Frontend
React + TypeScript + Tailwind]
DASH[Dashboard Components
Planner, File Hub, Campus Life]
CHAT[AI Chat Interface
CopilotKit]
SEARCH[Global Search
Nuclia RAG]
IMPORT[Data Import/Export
CSV, JSON, PDF]
end

%% Application Layer
subgraph "Application Logic"
CONVEX[Convex Functions
Serverless Backend]
AUTH[Authentication
Clerk]
BILLING[Billing & Feature Gates
Schematic]
ANALYTICS[Usage Analytics
Vercel Analytics]
end

%% Data Layer
subgraph "Data Storage"
DB[(Convex Database
Real-time DB)]
FILES[File Storage
Cloud Storage]
KB[(Nuclia Knowledge Base
Document Processing)]
end

%% AI & ML Services
subgraph "AI Services"
GEMINI[Google Gemini
LLM via AI SDK]
GROQ[Groq
Fast Inference]
COPILOT[CopilotKit Runtime
AI Actions & Chat]
NUCLIARAG[Nuclia RAG
Retrieval-Augmented Generation]
end

%% Backend Services
subgraph "Backend Services"
SYNC[Nuclia Sync Service
Node.js Backend
Document Processing]
PDFPROCESS[PDF Processing
Text Extraction]
SCHEDULEOPT[Schedule Optimization
AI-powered Planning]
end

%% External Integrations (Planned)
subgraph "FUTURE SCOPE"
CALENDAR[Google Calendar
Sync UI Ready]
YOUTUBE[YouTube API
Video Integration UI Ready]
OUTLOOK[Microsoft Outlook
Email & Calendar]
DRIVE[Google Drive
File Sync]
ZOOM[Zoom
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
```

### Architecture Overview

**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

---

## 🎥 Demo Video

[![Demo Video Comprehensive Latest](https://img.shields.io/badge/Demo1-Video-red?style=for-the-badge&logo=youtube)](https://www.youtube.com/embed/td5qevnAoec?si=EHguDAe2pqFXV-FZ)
[![Demo Video Old](https://img.shields.io/badge/Demo2-Video-red?style=for-the-badge&logo=youtube)](https://www.youtube.com/embed/DkRr0VcmkHc?si=2MMlks4W9_mvXWRF)

---

## 📸 Screenshots

Click to expand media

### Landing Page


Your browser does not support the video tag.

_Beautiful landing page with threejs component_
![Landing Page](screenshots/landing.png)

### 🏠 Dashboard & Overview

_Main dashboard showing all features and quick access_
![Dashboard Overview](screenshots/dashboardoverview.png)

_Academic progress tracking and analytics_
![Analytics Dashboard](screenshots/analytics.png)

_User profile and settings_
![Profile Page](screenshots/profile.png)

### 🤖 AI Assistant & Chat

_AI assistant home interface_
![AI Chat Home](screenshots/aichathome.png)

_Conversation with AI assistant having Tools_
![AI Chat Session](screenshots/aichatsession.png)

_AI-powered study assistance_
![AI Study Assistant](screenshots/studynew.png)

_AI content generation feature_
![Content Generation](screenshots/contentgen.png)

### 🔍 Search & RAG

_Retrieval-augmented generation Usage_
![RAG Demo](screenshots/ragdemo.jpeg)

_Knowledge base and document processing in NucliaDB_
![RAG Database](screenshots/ragdb.png)

### 📅 Planner & Scheduling

_Intelligent planning and schedule management_
![Planner Hub](screenshots/plannernew.png)

### 📁 File Management

_File organization and management interface_
![File Hub 1](screenshots/filehub1.png)

_Advanced file operations and search_
![File Hub 2](screenshots/filehub2.jpeg)

_Data import and export functionality_
![Import/Export](screenshots/importexp.png)

### ⚙️ Backend Service

_Nuclia Document synchronization service_
![Backend Sync](screenshots/backendsync.png)

_Convex Real-time database management_
![Convex Database](screenshots/convex.png)

_Schematic Billing and feature gating system_
![Schematic Billing](screenshots/schematic.png)

### 🔒 Additional Features

_Premium feature access control Component_
![Locked Feature](screenshots/locked.jpeg)

---

## 🚀 Quick start

### Prerequisites

- 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.

### 1. Clone and Setup

```powershell
git clone https://github.com/ARYPROGRAMMER/EduBox.git
cd EduBox
```

### 2. Choose Your Setup

#### Quick Setup (All Services)

For the complete development experience with all services running:

```powershell
# 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

## 📋 Setup Options

### Option 1: Backend Running Setup

Run the Nuclia sync service for document processing and RAG functionality.

```powershell
# 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:**

```env
PORT=4000
NUCLIA_API_KEY=your_nuclia_api_key
NUCLIA_API_URL=https://nuclia.cloud/api
NUCLIA_DEFAULT_KB=your_default_kb_id
```

### Option 2: Frontend Development Setup

Run the Next.js application with all UI components and integrations.

```powershell
# 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
```

### Option 3: Full Stack AI Setup (CopilotKit + Nuclia RAG + Convex + Schematic + Clerk)

Complete setup with AI chat, RAG search, database, billing, and authentication.

```powershell
# 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
```

## 🔧 Environment Variables

Create `.env.local` in the `frontend` directory with:

```env
# 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
```

## 🏗️ Tech Stack Details

### On Trial Services

- **Nuclia RAG** - Retrieval-augmented generation (Trial) (Progress/Kendo)
- **Kendo UI** - Enterprise UI components (licensed Trial)

### Frontend Framework

- **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

### UI & Styling

- **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

### Authentication & Security

- **Clerk** - Complete authentication and user management
- **Schematic** - Feature gating and billing management

### Database

- **Convex** - Real-time database with serverless functions

### Gen AI

- **CopilotKit with GROQ** - AI chat interface and actions
- **Vercel AI SDK** - Unified AI API interface

### Additional Libraries

- **Tsparticles** - Interactive particle effects
- **React Dropzone** - File upload handling
- **React Markdown** - Markdown rendering
- **Recharts** - Data visualization
- **Date-fns** - Date manipulation
- **Zod** - Schema validation

## 🏃‍♂️ Development Scripts

### Root-Level Scripts (Recommended)

```bash
# 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
```

### Frontend Scripts

```bash
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
```

### Backend Scripts

```bash
cd backend/nuclia-sync

# Development
npm run dev # Start with auto-restart (nodemon)
npm start # Production start
```

### Multi-Service Development

For running multiple services simultaneously, consider using a process manager like PM2 or concurrently.

## 🔍 Troubleshooting

### Common Issues

**CopilotKit not working:**

- Verify `NEXT_PUBLIC_COPILOTKIT_PUBLIC_LICENSE_KEY` and `NEXT_PUBLIC_COPILOTKIT_PUBLIC_API_KEY` are set
- Check browser console for CopilotKit initialization errors

**Convex connection failed:**

- Ensure `npx convex dev` is running
- Verify `CONVEX_DEPLOYMENT` and `NEXT_PUBLIC_CONVEX_URL` are correct
- Run `npx convex dashboard` to check deployment status

**Nuclia RAG not responding:**

- Ensure backend sync service is running on port 4000
- Check `NEXT_PUBLIC_NUCLIA_API_KEY` is valid
- Verify Nuclia knowledge box configuration

**Schematic billing not working:**

- Confirm `NEXT_PUBLIC_SCHEMATIC_PUBLISHABLE_KEY` and `SCHEMATIC_API_KEY` are set
- Check Schematic dashboard for component configuration

**Build errors:**

- Ensure all environment variables are set
- Try `pnpm install` to refresh dependencies
- Check Node.js version (18+ required)

### Environment Setup Verification

Run this script to verify your environment:

```bash
# 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);
"
```

## 📁 Project Structure

```
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
```

## 🤝 Contributing

1. Fork the repository
2. Create a feature branch: `git checkout -b feature/amazing-feature`
3. Commit changes: `git commit -m 'Add amazing feature'`
4. Push to branch: `git push origin feature/amazing-feature`
5. Open a Pull Request

### Development Guidelines

- 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

## 📄 License

This project is licensed under the MIT License - see the [LICENSE](LICENSE) file for details.

---


Made with ❤️ by Arya • GitHubWebsite