A modern, AI-powered learning management system built with FastAPI and React, designed to provide personalized educational experiences through intelligent content delivery and assessment.
- AI-Powered Learning: Intelligent content recommendations and personalized learning paths
- User Authentication: Secure authentication system
- Interactive Content: Rich multimedia learning materials and assessments
- Responsive Design: Mobile-first design with Tailwind CSS
- RESTful API: Comprehensive REST API built with FastAPI
- Database Integration: Efficient data management with SQLAlchemy
- FastAPI - Modern, fast web framework for building APIs
- Python 3.8+ - Core programming language
- SQLAlchemy - SQL toolkit and ORM
- Pydantic - Data validation using Python type annotations
- Authentication - JWT-based authentication system
- React - Frontend JavaScript library
- Tailwind CSS - Utility-first CSS framework
- Vite - Fast build tool and development server
- Modern JavaScript - ES6+ features
- Vite - Development server and build tool
- PostCSS - CSS processing
- ESLint/Prettier - Code formatting and linting
Before running this application, make sure you have:
- Python 3.8+ installed
- Node.js 16+ and npm/yarn installed
- Git for version control
git clone https://github.com/CodeMosaic7/learning-potato
cd learning-potato
# Navigate to backend directory
cd ai-learning-backend
# Create virtual environment
python -m venv venv
# Activate virtual environment
# On Windows:
venv\Scripts\activate
# On macOS/Linux:
source venv/bin/activate
# Install dependencies
pip install -r requirements.txt
# Run database migrations (if applicable)
python -m alembic upgrade head
# Start the FastAPI server
uvicorn app.main:app --reload
The API will be available at http://localhost:8000
- API Documentation:
http://localhost:8000/docs
- Alternative Docs:
http://localhost:8000/redoc
# Navigate to frontend directory (from root)
cd ai-learning-frontend
# Install dependencies
npm install
# Start development server
npm run dev
The frontend will be available at http://localhost:5173
learning-potato/
├── ai-learning-backend/
│ ├── app/
│ │ ├── __pycache__/
│ │ ├── authentication/
│ │ ├── router/
│ │ └── services/
│ ├── crud.py
│ ├── db.py
│ ├── dependencies.py
│ ├── main.py
│ ├── models.py
│ ├── schemas.py
│ └── test.py
├── ai-learning-frontend/
│ ├── node_modules/
│ ├── public/
│ ├── src/
│ ├── eslint.config.js
│ ├── index.html
│ ├── package.json
│ ├── postcss.config.js
│ ├── tailwind.config.js
│ └── vite.config.js
├── .gitignore
├── auth_app.db
├── notes.txt
└── requirements.txt
Create a .env
file in the backend directory:
# Database
DATABASE_URL=sqlite:///./auth_app.db
# JWT Settings
SECRET_KEY=your-secret-key-here
ALGORITHM=HS256
ACCESS_TOKEN_EXPIRE_MINUTES=30
# AI/ML Settings
AI_MODEL_ENDPOINT=your-ai-endpoint
AI_API_KEY=your-ai-api-key
# CORS Settings
ALLOWED_ORIGINS=http://localhost:5173
POST /auth/register
- User registrationPOST /auth/login
- User loginPOST /auth/refresh
- Refresh access token
GET /courses
- Get all coursesGET /courses/{id}
- Get specific coursePOST /courses
- Create new coursePUT /courses/{id}
- Update courseDELETE /courses/{id}
- Delete course
POST /ai/recommendations
- Get personalized recommendationsPOST /ai/assessment
- AI-powered assessmentGET /ai/progress
- Get learning analytics
cd ai-learning-backend
python -m pytest test.py -v
cd ai-learning-frontend
npm run test
- Install production dependencies
- Set environment variables
- Run database migrations
- Start with a production ASGI server:
pip install uvicorn[standard]
uvicorn app.main:app --host 0.0.0.0 --port 8000 --workers 4
npm run build
# Deploy the dist/ folder to your hosting service
The platform uses SQLAlchemy models for:
- Users: User accounts and profiles
- Assessments: Quizzes and evaluations
The platform includes AI-powered features:
- Personalized Recommendations: Content suggestions based on learning patterns
- Adaptive Assessment: Dynamic difficulty adjustment
- Learning Analytics: Progress insights and performance prediction
- Content Generation: AI-assisted content creation
- JWT-based authentication
- Password hashing with bcrypt
- CORS protection
- Input validation with Pydantic
- SQL injection prevention
- Rate limiting (configurable)
- Follow PEP 8 for Python code
- Use ESLint configuration for JavaScript
- Write tests for new features
- Update documentation as needed
This project is licensed under the MIT License - see the LICENSE file for details.
- Initial release with core learning platform features
- AI-powered recommendations
- User authentication and authorization
- Course management system
- Progress tracking and analytics
- FastAPI community for excellent documentation
- React and Vite teams for modern development tools
- Open source contributors and maintainers
Chatbot


Built with ❤️ using FastAPI and React