The Professor is a cutting-edge full-stack AI application designed to transform static PDF and Office documents into interactive, conversational learning environments. By leveraging state-of-the-art Large Language Models (LLMs), it provides deep document analysis, secure user workspaces, and automated educational assessments.
Inspired by the precision and chemistry of professional systems, this platform ensures that your learning process is as efficient as a well-calibrated laboratory.
| Feature | Description |
|---|---|
| Neural Document Analysis | High-fidelity extraction from PDF/Office files using specialized processing pipelines. |
| Contextual AI Chat | Real-time dialogue powered by Gemini 2.0 Flash, grounded strictly in your document's context. |
| Auto-Quiz Generation | Intelligent generation of Multiple Choice Questions (MCQs) and flashcards to verify understanding. |
| Neural Visualization | Interactive 3D visualization of the AI's internal state using React Three Fiber. |
| Secure Workspaces | JWT-based authentication with Supabase integration to persist documents and chat history. |
- Framework: Next.js 15
- Styling: Tailwind CSS & Framer Motion
- Visuals: React Three Fiber
- State Management: React Hooks & Axios
- Engine: Node.js & Express v5
- Language: TypeScript
- Database: MongoDB & Supabase
- LLM: Google Gemini 2.0 Flash
- Embeddings: Google Generative AI
- Parsing:
pdf-parse&officeparser
The project follows a decoupled Monorepo-style architecture:
graph TD
Client[Next.js Frontend] -->|Auth/API Calls| Server[Express Backend]
Server -->|Metadata & Content| MongoDB[(MongoDB)]
Server -->|Primary LLM| Gemini[Google Gemini AI]
Server -->|Fallback LLM| Groq[Groq AI]
Server -->|Auth| Supabase[Supabase Auth]
- Node.js 18+
- MongoDB Instance (or Atlas)
- Google AI SDK Key
- Supabase Account
-
Clone the repository:
git clone https://github.com/your-username/the-professor.git cd the-professor -
Frontend Setup:
cd client npm install cp .env.example .env.local # Fill in your environment variables npm run dev
-
Backend Setup:
cd ../server npm install cp .env.example .env # Fill in your environment variables npm run dev
PORT=5001
MONGODB_URI=your_mongodb_uri
GEMINI_API_KEY=your_google_ai_key
SUPABASE_URL=your_supabase_url
SUPABASE_ANON_KEY=your_supabase_key
JWT_SECRET=your_secretNEXT_PUBLIC_API_URL=http://localhost:5001/api
NEXT_PUBLIC_SUPABASE_URL=your_supabase_url
NEXT_PUBLIC_SUPABASE_ANON_KEY=your_supabase_keyThis project is licensed under the ISC License.
Proudly built for the AI-Driven learning revolution.