{"id":24880700,"url":"https://github.com/rolbester/adaptive-learning-platform","last_synced_at":"2026-04-07T22:32:27.521Z","repository":{"id":273759005,"uuid":"919507761","full_name":"RoLBester/adaptive-learning-platform","owner":"RoLBester","description":"Full-Stack Web Application for an AI-Powered Educational Platform","archived":false,"fork":false,"pushed_at":"2025-01-22T19:59:30.000Z","size":211,"stargazers_count":0,"open_issues_count":0,"forks_count":0,"subscribers_count":1,"default_branch":"main","last_synced_at":"2025-03-27T06:16:15.587Z","etag":null,"topics":["ai","chat","education","javascript","llms","pipeline","python","pythonflask","quizzes","react","reactrouterdom","tensorflow"],"latest_commit_sha":null,"homepage":"","language":"TypeScript","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/RoLBester.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":null,"code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2025-01-20T14:17:03.000Z","updated_at":"2025-01-22T19:59:34.000Z","dependencies_parsed_at":"2025-01-22T20:33:59.147Z","dependency_job_id":null,"html_url":"https://github.com/RoLBester/adaptive-learning-platform","commit_stats":null,"previous_names":["rolbester/adaptive-learning-platform"],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/RoLBester%2Fadaptive-learning-platform","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/RoLBester%2Fadaptive-learning-platform/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/RoLBester%2Fadaptive-learning-platform/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/RoLBester%2Fadaptive-learning-platform/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/RoLBester","download_url":"https://codeload.github.com/RoLBester/adaptive-learning-platform/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":245791958,"owners_count":20672671,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["ai","chat","education","javascript","llms","pipeline","python","pythonflask","quizzes","react","reactrouterdom","tensorflow"],"created_at":"2025-02-01T11:19:13.127Z","updated_at":"2026-04-07T22:32:27.514Z","avatar_url":"https://github.com/RoLBester.png","language":"TypeScript","funding_links":[],"categories":[],"sub_categories":[],"readme":"# AI-Powered Educational Platform\n\n\u003e **TL;DR:** A full-stack AI education platform built with React/TypeScript (frontend), Python (FastAPI/Flask) + MongoDB (backend), and Meta Llama 2 (7B via Hugging Face) for question-answering and personalized learning recommendations.\n\u003e\n\u003e This project shows experience with LLM integration, REST APIs, basic data pipelines, and a production-style frontend + backend architecture.\n\nAI-Powered Educational Platform where you can become a student of an AI operated school.\nAn adaptive learning system that personalizes educational content, quizzes, and study materials based on user performance. Integrates a Large Language Model (LLM) for question-answering and content recommendations, leveraging Meta’s Llama 2 (7B HF) as the core NLP engine.\n____________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________\n\n1. Table of Contents\n2. Project Overview\n3. Key Features\n4. Tech Stack \u0026 Tools\n5. Project Structure\n6. Installation \u0026 Setup\n7. Usage\n8. Seeding the Database\n9. Taking a Quiz\n10. Fetching Recommendations\n11. Asking Questions (LLM)\n12. Environment Variables\n13. Notes on Llama 2 Usage\n14. License\n____________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________\n1. Project Overview\nThis platform provides an adaptive learning experience using AI-driven quizzes, personalized study resources, and a real-time dashboard. By analyzing user performance data, it recommends targeted materials to address individual learning gaps.\nThe system also features a chat-based question assistant powered by Llama 2, enabling students to ask topic-specific queries and receive detailed explanations.\n\n2. Key Features\nAdaptive Quizzes:\nUsers complete quizzes, and their performance is recorded to gauge strengths/weaknesses.\n\nPersonalized Recommendations:\nAn AI-based recommendation engine leverages stored user progress data to suggest relevant study materials.\n\nLLM Question-Answering:\nA question assistant (chat interface) integrates Llama 2 to handle user queries and provide explanations.\n\nReal-Time Analytics:\nDashboards for users/instructors to track quiz performance, visualize correctness, and identify learning trends.\n\nModular Architecture:\nClean separation of backend (Python) and frontend (React) services, facilitating scalability and maintainability.\n____________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________\n3. Tech Stack \u0026 Tools\nLanguages \u0026 Frameworks\n\nBackend: [Python], [FastAPI or Flask], [MongoDB] for data storage\nFrontend: [React], [TypeScript] for a dynamic user interface\nLLM: Meta Llama 2 (7B HF) for NLP/Q\u0026A\nOther Tools\n\nHugging Face for LLM Inference API\nChart.js or similar for analytics dashboards\nTailwindCSS for responsive design (if applicable)\nVS Code as the primary IDE (with debugging extensions)\n____________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________\n4. Project Structure\n└── ...\nbackend/app/main.py – Entry point for the Python backend.\nbackend/app/routes/*.py – Contains API endpoints for quiz evaluation, recommendations, chat, etc.\nbackend/app/models/*.py – Core logic for AI-based recommendations, DB interactions, and QA pipeline.\nfrontend/src/* – React/TypeScript code for UI, including quiz forms, dashboards, and chat assistant.\n\n____________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________\n5. Installation \u0026 Setup\nClone the Repository\ncd AI-Edu-Platform\n\nBackend Setup\ncd backend\npython3 -m venv venv\nsource venv/bin/activate  # or venv\\Scripts\\activate on Windows\npip install -r requirements.txt\nCreate a .env file (see Environment Variables below).\n\nFrontend Setup\ncd ../frontend\nnpm install\nAdjust .env or configuration if needed for the frontend (e.g., REACT_APP_API_URL).\n\nRun the Backend\n# from the backend/ directory\nuvicorn app.main:app --host 0.0.0.0 --port 8000 --reload\nOpen a browser at http://127.0.0.1:8000/docs to see the interactive API docs (Swagger UI).\n\nRun the Frontend\n# from the frontend/ directory\nnpm start\nBy default, it starts at http://localhost:3000.\n____________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________\n\n6. Usage\n6.1 Seeding the Database\n(Optional step, if you want sample resources for recommendations.)\n\nPOST to http://127.0.0.1:8000/api/seed-resources/ using browser, Postman, or Swagger UI.\nThis inserts example resources (e.g. “Algebra Basics,” “Calculus 101”) into the Resources collection.\n\n6.2 Taking a Quiz\nNavigate to http://localhost:3000/quiz.\nEnter a user ID (e.g., user123) and answer the quiz questions.\nThe system records your results and updates your progress in MongoDB.\n\n6.3 Fetching Recommendations\nGo to http://localhost:3000/learning-path.\nEnter the same user ID used for the quiz.\nClick Get Recommendations. If your score for a topic was below the threshold (e.g., \u003c60), you’ll see relevant resources recommended for that topic.\n\n6.4 Asking Questions (LLM)\nVisit http://localhost:3000/chat.\nType in a question or statement. The AI chatbot, powered by Llama 2, will respond.\nEach new user message re-sends the entire conversation to the backend endpoint (/api/chat/), which calls the Hugging Face Inference API for Llama 2.\n\n____________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________\n\n7. Environment Variables\nIn backend/.env, define:\nMONGO_URI=\"mongodb+srv://\u003cusername\u003e:\u003cpassword\u003e@\u003ccluster\u003e.mongodb.net/AdaptiveLearning\"\nHUGGINGFACE_TOKEN=\"hf_XXXXXXXXXXXX\"\nMONGO_URI: Connection string for your MongoDB (Atlas or local).\nHUGGINGFACE_TOKEN: Your personal access token from Hugging Face.\nRequired to call Llama 2 (and other HF models) via the Inference API.\n(Optional) MODEL_ID=\"meta-llama/Llama-2-7b-hf\" if your code references an environment variable for the model ID.\nYou may also have a frontend .env for environment-specific settings (like REACT_APP_API_URL).\n\n____________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________\n\n8. Notes on Llama 2 Usage\nLicense Acceptance: Llama 2 typically requires accepting the license on Hugging Face.\nAPI Access: The free Inference API might block large models (403 errors). If so, either:\nUse a smaller variant, or\nSign up for a paid Inference Endpoint on Hugging Face, or\nHost the model locally on GPU (requires setup).\nRate Limits \u0026 Performance: The free tier can be slow or limited. For production usage, consider a self-hosted or paid solution.\n\n____________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________\n\n10. License\nMIT License - open-source license.\n\nDisclaimer: This project is for educational demonstration. The Llama 2 model usage is subject to Meta’s license terms and may not be used for commercial purposes without prior permission.\n\n\n## My Role \u0026 Contributions\n\nThis is an individual project that I designed and implemented as a full-stack AI demo. My main responsibilities included:\n\n- Designing the overall architecture (React/TypeScript frontend + Python backend + MongoDB database).\n- Implementing REST API endpoints for quizzes, user progress tracking, and AI-based recommendations.\n- Integrating Meta Llama 2 (7B) via the Hugging Face Inference API for question-answering.\n- Building frontend pages for quizzes, learning-path recommendations, analytics dashboards, and the chat assistant.\n- Handling environment configuration (MongoDB connection, Hugging Face credentials, model configuration).\n- Writing project documentation and setup instructions.\n\n\nEnjoy exploring the AI-Powered Educational Platform! Feel free to raise issues or contribute via pull requests. If you have any questions, contact: [RoLBester]\n\n____________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Frolbester%2Fadaptive-learning-platform","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Frolbester%2Fadaptive-learning-platform","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Frolbester%2Fadaptive-learning-platform/lists"}