Skip to content

jezreal-dev/edupilot

Repository files navigation

Next.js TailwindCSS Zustand Supabase Gemini

πŸŽ“ EduPilot

AI-Native Curriculum Ingestion, Pacing, & Alignment Engine for Modern Classrooms

An intelligent web application that processes unstructured syllabi PDFs and transforms them into active teaching schedules, classroom pacing guides, and standardized curriculum gap analyses.


πŸ—οΈ System Architecture

The following diagram outlines the data processing flow from syllabus upload to client-side lesson pacing and database persistence:

graph TD
    A[Syllabus Upload: PDF/Word] -->|Upload| B(Dashboard Controller)
    B -->|Parse byte-stream| C[Raw text extractor]
    C -->|Extract topics| D[Gemini 2.5 Flash API]
    D -->|Format markdown plans| E[(Supabase PostgreSQL)]
    E -->|Optimistic UI check| F[Curriculum Progress Tracker]
    E -->|Schedule events| G[Timetable Calendar]
    E -->|Load metadata| H[Teacher Preferences Settings]
    
    F -->|Trigger segment countdown| I[Classroom Lesson Pacing Timer]
    G -->|Display hours| I
    H -->|Enforce standard compliance| D
Loading

⚑ Key Features

  • Syllabus Parsing & Progress Tracking: Automatically extracts weekly topics from PDFs. Features a progress bar mapping % of taught topics in real-time, syncing checks with Supabase.
  • Classroom Lesson Pacing Clock: A 60-minute countdown widget highlighting active classroom segments (Hook, Main Activity, Formative Assessment, Conclusion).
  • Markdown Lesson Editor & Exporters: Enables inline editing of lesson plans. Exports instantly to PDF (print styles), Markdown (.md), and Word (.doc binary headers).
  • Curriculum Gap Detector: Compares teacher curricula against benchmark standards (NERDC, Cambridge IGCSE, US NGSS). Identifies missing topics and activity gaps, with an auto-align button.
  • Zustand-Coordinated Layout: Unifies sidebar navigation, mobile hamburger drawer, global chatbot slide-out, settings modal, and feedback logs under a single state.

πŸ“ Repository Structure Map

/edupilot
β”œβ”€β”€ .github/workflows/      # CI/CD GitHub Actions build workflows
β”œβ”€β”€ public/                 # Static asset folders
β”œβ”€β”€ src/
β”‚   β”œβ”€β”€ app/
β”‚   β”‚   β”œβ”€β”€ (auth)/         # Login & Signup authentication routes
β”‚   β”‚   β”œβ”€β”€ (dashboard)/    # Core views: /dashboard, /calendar, /vault, /curricula/compare
β”‚   β”‚   β”œβ”€β”€ (admin)/        # Admin metric feeds and role configurations
β”‚   β”‚   └── api/            # Scoped Gemini & feedback endpoints
β”‚   β”œβ”€β”€ components/
β”‚   β”‚   β”œβ”€β”€ layout/         # Navigation components, SettingsModal, Chatbot, Feedback
β”‚   β”‚   β”œβ”€β”€ curriculum/     # Progress tracking & Gap analyzer dashboards
β”‚   β”‚   β”œβ”€β”€ lesson-plan/    # Classroom pacing timers & lesson editors
β”‚   β”‚   └── ui/             # Reusable Shadcn elements
β”‚   β”œβ”€β”€ lib/
β”‚   β”‚   └── supabase/       # Browser, Server, and Middleware DB client initializers
β”‚   └── store/
β”‚       └── useAppStore.ts  # Zustand global UI & Pacing Timer state store
└── supabase/
    └── migrations/         # Sequential database schema migration SQL files

πŸš€ Setup & Local Installation

Prerequisites

Ensure Node.js 20+ and NPM are installed on your machine.

Installation

# 1. Clone the repository
git clone https://github.com/jezreal-dev/edupilot.git
cd edupilot

# 2. Install NPM dependencies
npm install

# 3. Create .env.local file in root directory and add credentials:
# NEXT_PUBLIC_SUPABASE_URL=your_supabase_url
# NEXT_PUBLIC_SUPABASE_ANON_KEY=your_anon_key
# GEMINI_API_KEY=your_google_ai_key

# 4. Start the development server
npm run dev

πŸ—„οΈ Database Migrations Setup

Database schemas are tracked using incremental SQL migrations inside supabase/migrations/.

To apply these to your remote database (e.g. Supabase hosted project):

  1. Copy the SQL code from 006_preferences_schema.sql.
  2. Run it in the SQL Editor tab of your Supabase hosted web console.

To reset and sync a local Supabase CLI instance:

supabase db reset

πŸ› οΈ Developer DevOps Verification

Before pushing code or opening a pull request, run the local verification checks to ensure zero code warnings or compilation regressions:

# 1. Audit code style and resolve unused parameters
npm run lint

# 2. Validate strict TypeScript type bindings
npx tsc --noEmit

# 3. Compile static routes and optimize production builds
npm run build

πŸ›‘οΈ Security Policy

Please review the SECURITY.md guidelines prior to reporting vulnerabilities.

πŸ“„ License

Copyright (c) 2026 EduPilot. All Rights Reserved.
This codebase is strictly proprietary. Unauthorized distribution is prohibited. See the LICENSE file for complete terms.

About

EduPilot: The intelligent copilot for modern teachers. AI-powered curriculum analysis, lesson planning, and timetable generation built on Next.js 16.

Topics

Resources

License

Security policy

Stars

Watchers

Forks

Packages

 
 
 

Contributors