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.
- 🤖 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.
- Framework: Next.js 16 (App Router)
- Language: TypeScript
- Styling: Tailwind CSS, Shadcn/UI, Lucide Icons
- Animation: Framer Motion
- State: React Context API
- Runtime: Node.js
- Framework: Express.js 5
- Database: MongoDB (Mongoose)
- AI Engine: Ollama (Local LLM Integration)
- Auth: JSON Web Tokens (JWT) & Bcrypt
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)
-
Clone the repository
git clone https://github.com/iamdanwi/edurax.git cd edurax -
Install Server Dependencies
cd server npm install -
Install Client Dependencies
cd ../client npm install
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:11434The 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.
# In the /server directory
npm run devServer will run on http://localhost:3001
# In the /client directory
npm run devClient will run on http://localhost:3000
Ensure Ollama is running in the background:
ollama serveedurax/
├── 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
This project is licensed under the MIT License - see the LICENSE file for details.