Skip to content

iamdainwi/edurax

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

5 Commits
 
 
 
 
 
 
 
 

Repository files navigation

Edurax - AI-Powered Personalized Learning Platform

Edurax is a cutting-edge educational platform that leverages Artificial Intelligence to generate personalized curriculum, quizzes, and learning paths instantly. Built with the MERN stack, Next.js 16, and Ollama, it offers a premium, adaptive learning experience tailored to each user.

🚀 Key Features

  • 🤖 AI Course Generation: Instantly create structured courses on any topic using local LLMs (Ollama).
  • 📚 Personalized Learning Paths: Adaptive curriculum that fits your skill level (Beginner to Expert).
  • 📝 Interactive Assessments: Automatically generated quizzes (3 questions/module) to verify knowledge retention.
  • 📊 Learning Analytics: Real-time dashboard tracking progress, lessons learned, and average scores.
  • 🔒 Secure Authentication: Robust JWT-based auth with HTTP-only cookies and Middleware protection.
  • 🎨 Premium UI/UX: Built with Shadcn/UI, Framer Motion, and a heavily customized Material Design 3 aesthetic.

🛠️ Tech Stack

Frontend

  • Framework: Next.js 16 (App Router)
  • Language: TypeScript
  • Styling: Tailwind CSS, Shadcn/UI, Lucide Icons
  • Animation: Framer Motion
  • State: React Context API

Backend

  • Runtime: Node.js
  • Framework: Express.js 5
  • Database: MongoDB (Mongoose)
  • AI Engine: Ollama (Local LLM Integration)
  • Auth: JSON Web Tokens (JWT) & Bcrypt

⚙️ Prerequisites

Before running the project, ensure you have the following installed:

  • Node.js (v18+)
  • MongoDB (running locally or Atlas URI)
  • Ollama (running locally with a model pulled, e.g., ollama pull llama3)

📦 Installation

  1. Clone the repository

    git clone https://github.com/iamdanwi/edurax.git
    cd edurax
  2. Install Server Dependencies

    cd server
    npm install
  3. Install Client Dependencies

    cd ../client
    npm install

🔧 Configuration

Server Environment (server/.env)

Create a .env file in the server directory:

PORT=3001
MONGO_URI=mongodb://localhost:27017/edurax
JWT_SECRET=your_super_secret_key_change_this_in_production
OLLAMA_HOST=http://localhost:11434

Client Environment

The client is pre-configured to proxy API requests to http://localhost:3001 via next.config.ts or direct API client configuration. Ensure the base URL matches your server port.

🏃‍♂️ Running the Project

1. Start the Backend Server

# In the /server directory
npm run dev

Server will run on http://localhost:3001

2. Start the Frontend Application

# In the /client directory
npm run dev

Client will run on http://localhost:3000

3. Start AI Engine

Ensure Ollama is running in the background:

ollama serve

📂 Project Structure

edurax/
├── client/                 # Next.js Frontend
│   ├── src/
│   │   ├── app/           # App Router Pages
│   │   ├── components/    # Reusable UI Components
│   │   ├── context/       # Auth Context
│   │   ├── lib/           # API Utilities
│   │   └── middleware.ts  # Route Protection
│   └── ...
├── server/                 # Express Backend
│   ├── src/
│   │   ├── controllers/   # Business Logic
│   │   ├── models/        # Mongoose Schemas
│   │   ├── routes/        # API Endpoints
│   │   └── services/      # Ollama/AI Services
│   └── ...
└── README.md

🛡️ License

This project is licensed under the MIT License - see the LICENSE file for details.

About

EduraX is an interactive online learning platform that enables educators to create, publish, and manage courses. Features include video lessons, interactive quizzes, progress tracking, student dashboards, and real-time collaboration tools for a modern e-learning experience.

Topics

Resources

Stars

0 stars

Watchers

0 watching

Forks

Releases

No releases published

Packages

 
 
 

Contributors