A production-grade modular learning platform with AI-enhanced features for personalized learning experiences, incorporating adaptive assessments, content generation, analytics, and more.
- Frontend: Next.js (TypeScript), Tailwind CSS, React Query
- Backend: Python (FastAPI, Langchain, Langgraph)
- Database: Supabase (PostgreSQL)
- AI: Langchain, Langgraph, Google's free LLM model
- Caching: Redis
- Monitoring: Prometheus
- Deployment: GitHub Actions, Docker, Nginx, Vercel
- Personalized Learning: AI-generated learning paths tailored to individual learning styles
- Adaptive Assessments: Dynamically adjust difficulty based on user performance
- Content Generation: AI-assisted content creation for instructors
- Analytics: Comprehensive analytics for tracking user progress and engagement
- Notifications: Real-time notifications for course updates and achievements
- Search: Advanced search functionality for courses and content
- User Preferences: Customizable learning styles, UI preferences, and notification settings
- Monitoring: Performance metrics and error tracking
.
├── frontend/ # Next.js frontend application
│ ├── app/ # Next.js app router
│ ├── components/ # Reusable UI components
│ ├── lib/ # Utility functions
│ ├── styles/ # Global styles
│ └── public/ # Static assets
│
├── backend/ # FastAPI backend application
│ ├── app/ # Application code
│ │ ├── api/ # API endpoints
│ │ ├── core/ # Core functionality
│ │ ├── models/ # Database models
│ │ ├── schemas/ # Pydantic schemas
│ │ └── services/ # Business logic
│ ├── tests/ # Test suite
│ └── main.py # Application entry point
│
├── docs/ # Documentation
│ ├── database/ # Database schema
│ └── assets/ # Documentation assets
│
├── .github/ # GitHub configuration
│ └── workflows/ # GitHub Actions workflows
│
├── docker-compose.yml # Docker Compose configuration
├── .env.example # Example environment variables
└── README.md # Project documentation
- Docker and Docker Compose
- Node.js 18+
- Python 3.11+
- Supabase account
-
Clone the repository:
git clone https://github.com/yourusername/ai-learning-platform.git cd ai-learning-platform -
Create a
.envfile based on.env.example:cp .env.example .env
-
Update the
.envfile with your Supabase credentials and other configuration. -
Start the development environment:
docker-compose up -d
-
Access the applications:
- Frontend: http://localhost:3000
- Backend API: http://localhost:8000/api/v1/docs
cd frontend
npm install
npm run devcd backend
pip install -r requirements.txt
uvicorn main:app --reloadcd frontend
npm testcd backend
pytestThe application is configured for deployment using GitHub Actions:
- Frontend: Vercel
- Backend: Docker container (deploy to your preferred cloud provider)
- Database: Supabase
- Create a feature branch:
git checkout -b feat/your-feature-name - Commit your changes:
git commit -m "feat: add some feature" - Push to the branch:
git push origin feat/your-feature-name - Submit a pull request
This project is licensed under the MIT License - see the LICENSE file for details.