AI Study Plan Generator
Run ID: 69cbb71b61b1021a29a8b9732026-03-31Education
PantheraHive BOS
BOS Dashboard

Create a personalized study plan with flashcards and quizzes

Study Plan for: "Test Input for Subject"

This personalized study plan is designed to provide a structured approach to mastering "Test Input for Subject." Please replace "Test Input for Subject" with your specific area of study (e.g., "Introduction to Machine Learning," "European History 1800-1914," "Calculus I") to tailor the content precisely to your needs.

This plan assumes a 12-week study period, dedicating approximately 10-15 hours per week. Adjust the duration, intensity, and specific activities based on your personal learning style, the complexity of the subject, and your available time.


1. Weekly Schedule: 12-Week Intensive Program

This schedule outlines a general progression. Each week includes time for new material, practice, review, and active recall.

  • Weeks 1-3: Foundational Concepts & Core Principles

* Focus: Introduction to the subject, key terminology, fundamental theories, basic methodologies.

* Activities:

* Reading: Chapters 1-3 of primary textbook/course modules.

* Lectures/Videos: Watch introductory lectures, tutorials, or online course segments.

* Flashcards: Create flashcards for all new definitions, key figures, and core principles.

* Practice: Complete introductory exercises, end-of-chapter questions.

* Review: Weekly summary of learned concepts, identify areas of initial confusion.

* Output: Initial set of flashcards (50-75 cards), completed basic problem sets.

  • Weeks 4-6: Intermediate Topics & Application

* Focus: Deeper dive into specific sub-topics, practical applications, problem-solving techniques, connecting foundational concepts.

* Activities:

* Reading: Chapters 4-6 of primary textbook/course modules.

* Lectures/Videos: Focus on application-oriented content, case studies.

* Flashcards: Continue adding to flashcard deck, focusing on interconnected concepts and formulas.

* Practice: Work through more complex problems, analyze case studies, begin short answer questions.

* Review: Bi-weekly comprehensive review of all material to date, reinforce understanding.

* Output: Expanded flashcard deck (100-150 cards), completed intermediate problem sets, notes on case study analysis.

  • Weeks 7-9: Advanced Concepts & Critical Analysis

* Focus: Complex theories, advanced techniques, critical evaluation, synthesis of information, potential research areas.

* Activities:

* Reading: Chapters 7-9 of primary textbook/supplementary readings/journal articles.

* Lectures/Videos: Engage with advanced topic discussions, expert interviews.

* Flashcards: Create flashcards for advanced terminology, nuanced distinctions, and complex processes.

* Practice: Tackle challenging problems, essay questions, debate different theories.

* Review: Focused review on difficult topics, create concept maps to visualize interdependencies.

* Output: Comprehensive flashcard deck (150-200+ cards), attempted advanced problems/essay outlines, concept maps.

  • Weeks 10-12: Review, Consolidation & Exam Preparation

* Focus: Comprehensive review of all material, identifying weak points, intensive practice, exam strategy.

* Activities:

* Reading: Revisit challenging chapters, review all notes and summaries.

* Lectures/Videos: Re-watch key lectures on areas of weakness.

* Flashcards: Daily intensive review of entire flashcard deck using spaced repetition.

* Practice: Complete full-length mock exams under timed conditions, focus on past papers.

* Review: Analyze mock exam performance, identify remaining gaps, create "cheat sheets" (for studying, not for exams) of critical information.

* Output: Detailed mock exam analysis, refined summary notes, high confidence in all subject areas.


2. Learning Objectives

By the end of this 12-week study plan, you will be able to:

  • Understand & Define: Accurately define and explain all core terminology, theories, and principles related to "Test Input for Subject." (Cognitive Level: Remember, Understand)
  • Apply Concepts: Successfully apply theoretical knowledge to solve practical problems, analyze scenarios, and interpret data within the domain of "Test Input for Subject." (Cognitive Level: Apply)
  • Analyze & Evaluate: Critically analyze different perspectives, methodologies, and outcomes within "Test Input for Subject," identifying strengths, weaknesses, and implications. (Cognitive Level: Analyze, Evaluate)
  • Synthesize Information: Integrate various concepts, theories, and data points to form coherent arguments, develop novel solutions, or propose new research questions relevant to "Test Input for Subject." (Cognitive Level: Create)
  • Communicate Effectively: Clearly and concisely articulate understanding of "Test Input for Subject" through written explanations, oral discussions, and structured presentations. (Cognitive Level: Understand, Apply, Create)

3. Recommended Resources

  • Primary Textbooks:

* [Insert Core Textbook Title 1] by [Author/Editor] (e.g., "The C++ Programming Language" by Bjarne Stroustrup)

* [Insert Core Textbook Title 2] by [Author/Editor] (e.g., "Chemistry: The Central Science" by Brown, LeMay, Bursten et al.)

  • Online Courses/Platforms:

* [Coursera/edX/Udemy Specialization/Course Name] on [Specific Subject Topic] (e.g., "Machine Learning" by Andrew Ng on Coursera)

* [Khan Academy/MIT OpenCourseWare/YouTube Channel] for [Specific Sub-topic or Visual Explanations] (e.g., "Crash Course History" for quick historical overviews)

  • Academic Journals/Publications (for advanced topics):

* [Relevant Journal Name 1] (e.g., "Journal of Artificial Intelligence Research," "The Lancet")

* [Relevant Journal Name 2] (e.g., "Physical Review Letters," "American Political Science Review")

  • Supplementary Materials:

* Flashcard Apps: Anki, Quizlet (essential for active recall and spaced repetition).

* Note-Taking Tools: Notion, Evernote, OneNote (for organizing notes, summaries, and creating knowledge bases).

* Practice Problem Repositories: [Specific Website/Platform] (e.g., LeetCode for programming, Project Euler for math, specific university problem banks).

* Discussion Forums/Communities: `[Relevant Subreddit/Stack Exchange/

aistudygenius Output

Step 2 of 2: Generate Flashcards

Welcome to your personalized study plan! Below are 20 detailed flashcards designed to help you understand and effectively utilize an AI Study Plan Generator. These flashcards cover key concepts, functionalities, and best practices, ensuring you can maximize your learning experience.


Flashcards: Understanding and Utilizing an AI Study Plan Generator

Flashcard 1/20

  • Question: What is an AI Study Plan Generator?
  • Answer: An AI Study Plan Generator is an intelligent software application that uses artificial intelligence and machine learning algorithms to create personalized, adaptive, and optimized study schedules and content for individual learners. It analyzes user input, learning goals, existing knowledge, and available time to generate a dynamic plan designed to enhance learning efficiency and retention.

Flashcard 2/20

  • Question: How does an AI Study Plan Generator personalize learning?
  • Answer: Personalization is achieved by collecting data on the user's learning style, prior knowledge (often through pre-assessments), desired pace, available study time, and specific learning objectives. AI algorithms then process this information to recommend relevant resources, adjust the difficulty of materials, prioritize topics, and schedule study sessions to align with the individual's unique needs and preferences.

Flashcard 3/20

  • Question: What are the primary benefits of using an AI Study Plan Generator?
  • Answer: The primary benefits include increased efficiency (optimizing study time), improved retention (through techniques like spaced repetition and active recall), enhanced motivation (by providing clear goals and tracking progress), reduced stress (by automating planning), and greater flexibility (as plans can adapt to changes in schedule or performance).

Flashcard 4/20

  • Question: Which core study techniques can an AI Study Plan Generator incorporate?
  • Answer: AI Study Plan Generators commonly incorporate evidence-based study techniques such as spaced repetition (revisiting material at increasing intervals), active recall (testing memory retrieval), interleaved practice (mixing different subjects or topics), metacognition (reflecting on one's own learning process), and formative assessment (quizzes to check understanding).

Flashcard 5/20

  • Question: Explain the role of spaced repetition in an AI-generated study plan.
  • Answer: Spaced repetition is a powerful learning technique where material is reviewed at increasingly longer intervals over time. An AI Study Plan Generator automates this process by tracking when a user last reviewed a topic and their mastery level, then intelligently scheduling future review sessions precisely when forgetting is about to occur, thereby maximizing long-term memory retention.

Flashcard 6/20

  • Question: How does an AI Study Plan Generator typically create flashcards?
  • Answer: AI Study Plan Generators can create flashcards in several ways:

1. From User Input: Generating cards based on topics or notes provided by the user.

2. From Course Material: Analyzing uploaded textbooks, lecture notes, or online course content to extract key terms and concepts.

3. From Pre-existing Databases: Drawing from extensive databases of subject-specific flashcards.

They often use Natural Language Processing (NLP) to identify important information and formulate effective Q&A pairs.

Flashcard 7/20

  • Question: What kind of data does an AI Study Plan Generator typically require from the user?
  • Answer: Essential data inputs often include:

* Subject/Topic: The specific area of study.

* Learning Goals: Desired outcomes (e.g., pass an exam, master a skill).

* Deadline: The target date for completion.

* Available Study Time: Daily or weekly hours the user can dedicate.

* Prior Knowledge/Proficiency: Self-assessment or pre-test results.

* Learning Style Preferences: (Optional) e.g., visual, auditory, kinesthetic.

* Preferred Resources: (Optional) e.g., textbooks, videos, articles.

Flashcard 8/20

  • Question: How can an AI Study Plan Generator assist with effective time management?
  • Answer: It assists by breaking down large learning goals into manageable tasks, assigning realistic time estimates, and scheduling these tasks into the user's available calendar slots. It can also reallocate time for specific topics based on performance, ensuring more focus on weaker areas, and provides reminders for upcoming study sessions and deadlines.

Flashcard 9/20

  • Question: What are the advantages of AI-powered quizzes over traditional quizzes within a study plan?
  • Answer: AI-powered quizzes offer several advantages:

* Adaptivity: Questions adjust in difficulty based on user performance.

* Personalization: Focus on topics where the user struggles.

* Instant Feedback: Immediate and often detailed explanations for answers.

* Diagnostic Capabilities: Identify specific knowledge gaps.

* Variety: Generate new questions on the fly, preventing memorization of questions.

* Integration: Seamlessly link quiz performance back to the study plan for adjustments.

Flashcard 10/20

  • Question: How does an AI Study Plan Generator adapt to a user's progress and performance?
  • Answer: It continuously monitors user interactions and performance on quizzes, flashcards, and assignments. If a user performs well on a topic, the AI might reduce review frequency or introduce more advanced material. Conversely, if a user struggles, the AI will schedule more frequent reviews, provide additional resources, or break down the topic into smaller, more digestible sub-sections.

Flashcard 11/20

  • Question: What are some potential limitations or challenges of using AI Study Plan Generators?
  • Answer: Limitations can include:

* Lack of Nuance: May struggle with highly subjective or creative subjects.

* Over-reliance: Users might become overly dependent on the AI and lose self-planning skills.

* Input Quality: The plan's effectiveness heavily depends on the accuracy and completeness of user input.

* Ethical Concerns: Data privacy and potential biases in algorithms.

* Cost: Premium features might require subscriptions.

* Technological Requirements: Requires internet access and a compatible device.

Flashcard 12/20

  • Question: How can a user maximize the effectiveness of their AI-generated study plan?
  • Answer: To maximize effectiveness, users should:

* Provide accurate and honest initial input.

* Consistently follow the plan and engage with the recommended activities.

* Regularly provide feedback to the AI about their learning experience and difficulties.

* Actively participate in quizzes and flashcards, rather than passively consuming content.

* Supplement the AI plan with active learning strategies like discussion groups or practical application.

Flashcard 13/20

  • Question: What is active recall, and how is it supported by an AI study plan?
  • Answer: Active recall is a learning strategy where you retrieve information from memory without external cues. An AI study plan supports this by integrating features like flashcards (where you recall the answer before revealing it), practice questions, and quizzes. The AI schedules these recall opportunities at optimal times to strengthen memory retrieval pathways.

Flashcard 14/20

  • Question: How does an AI Study Plan Generator handle different learning styles (e.g., visual, auditory, kinesthetic)?
  • Answer: While AI cannot perfectly replicate human pedagogical understanding, it can accommodate learning styles by:

* Offering diverse resources: Suggesting videos for visual learners, podcasts for auditory, and interactive simulations for kinesthetic.

* Allowing user preferences: Enabling users to select preferred content types.

* Adapting presentation: Potentially adjusting the format of notes or explanations based on observed engagement patterns, though this is more advanced.

However, explicit input from the user about their preferred style is often the most direct way.

Flashcard 15/20

  • Question: What role does user feedback play in the continuous improvement of an AI Study Plan Generator?
  • Answer: User feedback is crucial. It helps the AI understand what strategies are effective for different individuals, identify areas where the plan might be unclear or unhelpful, and detect bugs or inaccuracies. This feedback, whether explicit (user ratings) or implicit (engagement data), allows the AI's algorithms to be refined and improve the personalization and efficacy of future study plans for all users.

Flashcard 16/20

  • Question: Can an AI Study Plan Generator integrate with other learning platforms or tools?
  • Answer: Many modern AI Study Plan Generators are designed with integration capabilities. They might connect with:

* LMS (Learning Management Systems): Such as Moodle or Canvas, to import course materials or track grades.

* Calendar Apps: To sync study sessions with personal schedules.

* Note-taking Apps: To import user notes for flashcard generation.

* Content Libraries: Accessing external educational content providers (e.g., Coursera, Khan Academy).

Integration enhances convenience and centralizes the learning experience.

Flashcard 17/20

  • Question: What is the fundamental difference between a static study plan and an AI-generated one?
  • Answer: A static study plan is fixed once created; it doesn't change regardless of the learner's progress, difficulties, or schedule shifts. An AI-generated study plan, conversely, is dynamic and adaptive. It continuously monitors the learner's performance, adjusts content difficulty, modifies review schedules based on mastery, and re-prioritizes topics in real-time, making it far more flexible and responsive to individual needs.

Flashcard 18/20

  • Question: How does an AI Study Plan Generator help identify and address knowledge gaps?
  • Answer: It identifies knowledge gaps primarily through performance on assessments like quizzes and flashcards. When a user consistently answers questions incorrectly on a specific topic, the AI flags it as a weak area. It then addresses this by:

* Scheduling more frequent reviews.

* Providing additional explanatory resources.

* Breaking down the complex topic into foundational sub-components.

* Generating targeted practice questions for that specific area.

Flashcard 19/20

  • Question: What are some ethical considerations when using AI for educational planning?
  • Answer: Ethical considerations include:

* Data Privacy: Ensuring sensitive student data is securely handled and not misused.

* Algorithmic Bias: Preventing AI from perpetuating or creating biases that disadvantage certain learners.

* Transparency: Making it clear how the AI makes recommendations.

* Autonomy: Balancing AI guidance with the student's need for independent learning and decision-making.

* Equity: Ensuring access to AI tools doesn't exacerbate educational inequalities.

Flashcard 20/20

  • Question: How does an AI Study Plan Generator promote self-regulated learning?
  • Answer: While providing structure, an AI Study Plan Generator also fosters self-regulated learning by:

* Goal Setting: Helping users define and track their learning objectives.

* Monitoring Progress: Providing dashboards and analytics to visualize performance.

* Adaptive Strategies: Encouraging users to reflect on their learning and adjust strategies based on AI feedback.

* Resource Management: Guiding users to appropriate learning materials.

Metacognition: Prompting users to think about how* they are learning and what works best for them, even if the initial plan is AI-generated.

ai_study_plan_generator.md
Download as Markdown
Copy all content
Full output as text
Download ZIP
IDE-ready project ZIP
Copy share link
Permanent URL for this run
Get Embed Code
Embed this result on any website
Print / Save PDF
Use browser print dialog
\n\n\n"); var hasSrcMain=Object.keys(extracted).some(function(k){return k.indexOf("src/main")>=0;}); if(!hasSrcMain) zip.file(folder+"src/main."+ext,"import React from 'react'\nimport ReactDOM from 'react-dom/client'\nimport App from './App'\nimport './index.css'\n\nReactDOM.createRoot(document.getElementById('root')!).render(\n \n \n \n)\n"); var hasSrcApp=Object.keys(extracted).some(function(k){return k==="src/App."+ext||k==="App."+ext;}); if(!hasSrcApp) zip.file(folder+"src/App."+ext,"import React from 'react'\nimport './App.css'\n\nfunction App(){\n return(\n
\n
\n

"+slugTitle(pn)+"

\n

Built with PantheraHive BOS

\n
\n
\n )\n}\nexport default App\n"); zip.file(folder+"src/index.css","*{margin:0;padding:0;box-sizing:border-box}\nbody{font-family:system-ui,-apple-system,sans-serif;background:#f0f2f5;color:#1a1a2e}\n.app{min-height:100vh;display:flex;flex-direction:column}\n.app-header{flex:1;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:12px;padding:40px}\nh1{font-size:2.5rem;font-weight:700}\n"); zip.file(folder+"src/App.css",""); zip.file(folder+"src/components/.gitkeep",""); zip.file(folder+"src/pages/.gitkeep",""); zip.file(folder+"src/hooks/.gitkeep",""); Object.keys(extracted).forEach(function(p){ var fp=p.startsWith("src/")?p:"src/"+p; zip.file(folder+fp,extracted[p]); }); zip.file(folder+"README.md","# "+slugTitle(pn)+"\n\nGenerated by PantheraHive BOS.\n\n## Setup\n\`\`\`bash\nnpm install\nnpm run dev\n\`\`\`\n\n## Build\n\`\`\`bash\nnpm run build\n\`\`\`\n\n## Open in IDE\nOpen the project folder in VS Code or WebStorm.\n"); zip.file(folder+".gitignore","node_modules/\ndist/\n.env\n.DS_Store\n*.local\n"); } /* --- Vue (Vite + Composition API + TypeScript) --- */ function buildVue(zip,folder,app,code,panelTxt){ var pn=pkgName(app); var C=cc(pn); var extracted=extractCode(panelTxt); zip.file(folder+"package.json",'{\n "name": "'+pn+'",\n "version": "0.0.0",\n "type": "module",\n "scripts": {\n "dev": "vite",\n "build": "vue-tsc -b && vite build",\n "preview": "vite preview"\n },\n "dependencies": {\n "vue": "^3.5.13",\n "vue-router": "^4.4.5",\n "pinia": "^2.3.0",\n "axios": "^1.7.9"\n },\n "devDependencies": {\n "@vitejs/plugin-vue": "^5.2.1",\n "typescript": "~5.7.3",\n "vite": "^6.0.5",\n "vue-tsc": "^2.2.0"\n }\n}\n'); zip.file(folder+"vite.config.ts","import { defineConfig } from 'vite'\nimport vue from '@vitejs/plugin-vue'\nimport { resolve } from 'path'\n\nexport default defineConfig({\n plugins: [vue()],\n resolve: { alias: { '@': resolve(__dirname,'src') } }\n})\n"); zip.file(folder+"tsconfig.json",'{"files":[],"references":[{"path":"./tsconfig.app.json"},{"path":"./tsconfig.node.json"}]}\n'); zip.file(folder+"tsconfig.app.json",'{\n "compilerOptions":{\n "target":"ES2020","useDefineForClassFields":true,"module":"ESNext","lib":["ES2020","DOM","DOM.Iterable"],\n "skipLibCheck":true,"moduleResolution":"bundler","allowImportingTsExtensions":true,\n "isolatedModules":true,"moduleDetection":"force","noEmit":true,"jsxImportSource":"vue",\n "strict":true,"paths":{"@/*":["./src/*"]}\n },\n "include":["src/**/*.ts","src/**/*.d.ts","src/**/*.tsx","src/**/*.vue"]\n}\n'); zip.file(folder+"env.d.ts","/// \n"); zip.file(folder+"index.html","\n\n\n \n \n "+slugTitle(pn)+"\n\n\n
\n \n\n\n"); var hasMain=Object.keys(extracted).some(function(k){return k==="src/main.ts"||k==="main.ts";}); if(!hasMain) zip.file(folder+"src/main.ts","import { createApp } from 'vue'\nimport { createPinia } from 'pinia'\nimport App from './App.vue'\nimport './assets/main.css'\n\nconst app = createApp(App)\napp.use(createPinia())\napp.mount('#app')\n"); var hasApp=Object.keys(extracted).some(function(k){return k.indexOf("App.vue")>=0;}); if(!hasApp) zip.file(folder+"src/App.vue","\n\n\n\n\n"); zip.file(folder+"src/assets/main.css","*{margin:0;padding:0;box-sizing:border-box}body{font-family:system-ui,sans-serif;background:#fff;color:#213547}\n"); zip.file(folder+"src/components/.gitkeep",""); zip.file(folder+"src/views/.gitkeep",""); zip.file(folder+"src/stores/.gitkeep",""); Object.keys(extracted).forEach(function(p){ var fp=p.startsWith("src/")?p:"src/"+p; zip.file(folder+fp,extracted[p]); }); zip.file(folder+"README.md","# "+slugTitle(pn)+"\n\nGenerated by PantheraHive BOS.\n\n## Setup\n\`\`\`bash\nnpm install\nnpm run dev\n\`\`\`\n\n## Build\n\`\`\`bash\nnpm run build\n\`\`\`\n\nOpen in VS Code or WebStorm.\n"); zip.file(folder+".gitignore","node_modules/\ndist/\n.env\n.DS_Store\n*.local\n"); } /* --- Angular (v19 standalone) --- */ function buildAngular(zip,folder,app,code,panelTxt){ var pn=pkgName(app); var C=cc(pn); var sel=pn.replace(/_/g,"-"); var extracted=extractCode(panelTxt); zip.file(folder+"package.json",'{\n "name": "'+pn+'",\n "version": "0.0.0",\n "scripts": {\n "ng": "ng",\n "start": "ng serve",\n "build": "ng build",\n "test": "ng test"\n },\n "dependencies": {\n "@angular/animations": "^19.0.0",\n "@angular/common": "^19.0.0",\n "@angular/compiler": "^19.0.0",\n "@angular/core": "^19.0.0",\n "@angular/forms": "^19.0.0",\n "@angular/platform-browser": "^19.0.0",\n "@angular/platform-browser-dynamic": "^19.0.0",\n "@angular/router": "^19.0.0",\n "rxjs": "~7.8.0",\n "tslib": "^2.3.0",\n "zone.js": "~0.15.0"\n },\n "devDependencies": {\n "@angular-devkit/build-angular": "^19.0.0",\n "@angular/cli": "^19.0.0",\n "@angular/compiler-cli": "^19.0.0",\n "typescript": "~5.6.0"\n }\n}\n'); zip.file(folder+"angular.json",'{\n "$schema": "./node_modules/@angular/cli/lib/config/schema.json",\n "version": 1,\n "newProjectRoot": "projects",\n "projects": {\n "'+pn+'": {\n "projectType": "application",\n "root": "",\n "sourceRoot": "src",\n "prefix": "app",\n "architect": {\n "build": {\n "builder": "@angular-devkit/build-angular:application",\n "options": {\n "outputPath": "dist/'+pn+'",\n "index": "src/index.html",\n "browser": "src/main.ts",\n "tsConfig": "tsconfig.app.json",\n "styles": ["src/styles.css"],\n "scripts": []\n }\n },\n "serve": {"builder":"@angular-devkit/build-angular:dev-server","configurations":{"production":{"buildTarget":"'+pn+':build:production"},"development":{"buildTarget":"'+pn+':build:development"}},"defaultConfiguration":"development"}\n }\n }\n }\n}\n'); zip.file(folder+"tsconfig.json",'{\n "compileOnSave": false,\n "compilerOptions": {"baseUrl":"./","outDir":"./dist/out-tsc","forceConsistentCasingInFileNames":true,"strict":true,"noImplicitOverride":true,"noPropertyAccessFromIndexSignature":true,"noImplicitReturns":true,"noFallthroughCasesInSwitch":true,"paths":{"@/*":["src/*"]},"skipLibCheck":true,"esModuleInterop":true,"sourceMap":true,"declaration":false,"experimentalDecorators":true,"moduleResolution":"bundler","importHelpers":true,"target":"ES2022","module":"ES2022","useDefineForClassFields":false,"lib":["ES2022","dom"]},\n "references":[{"path":"./tsconfig.app.json"}]\n}\n'); zip.file(folder+"tsconfig.app.json",'{\n "extends":"./tsconfig.json",\n "compilerOptions":{"outDir":"./dist/out-tsc","types":[]},\n "files":["src/main.ts"],\n "include":["src/**/*.d.ts"]\n}\n'); zip.file(folder+"src/index.html","\n\n\n \n "+slugTitle(pn)+"\n \n \n \n\n\n \n\n\n"); zip.file(folder+"src/main.ts","import { bootstrapApplication } from '@angular/platform-browser';\nimport { appConfig } from './app/app.config';\nimport { AppComponent } from './app/app.component';\n\nbootstrapApplication(AppComponent, appConfig)\n .catch(err => console.error(err));\n"); zip.file(folder+"src/styles.css","* { margin: 0; padding: 0; box-sizing: border-box; }\nbody { font-family: system-ui, -apple-system, sans-serif; background: #f9fafb; color: #111827; }\n"); var hasComp=Object.keys(extracted).some(function(k){return k.indexOf("app.component")>=0;}); if(!hasComp){ zip.file(folder+"src/app/app.component.ts","import { Component } from '@angular/core';\nimport { RouterOutlet } from '@angular/router';\n\n@Component({\n selector: 'app-root',\n standalone: true,\n imports: [RouterOutlet],\n templateUrl: './app.component.html',\n styleUrl: './app.component.css'\n})\nexport class AppComponent {\n title = '"+pn+"';\n}\n"); zip.file(folder+"src/app/app.component.html","
\n
\n

"+slugTitle(pn)+"

\n

Built with PantheraHive BOS

\n
\n \n
\n"); zip.file(folder+"src/app/app.component.css",".app-header{display:flex;flex-direction:column;align-items:center;justify-content:center;min-height:60vh;gap:16px}h1{font-size:2.5rem;font-weight:700;color:#6366f1}\n"); } zip.file(folder+"src/app/app.config.ts","import { ApplicationConfig, provideZoneChangeDetection } from '@angular/core';\nimport { provideRouter } from '@angular/router';\nimport { routes } from './app.routes';\n\nexport const appConfig: ApplicationConfig = {\n providers: [\n provideZoneChangeDetection({ eventCoalescing: true }),\n provideRouter(routes)\n ]\n};\n"); zip.file(folder+"src/app/app.routes.ts","import { Routes } from '@angular/router';\n\nexport const routes: Routes = [];\n"); Object.keys(extracted).forEach(function(p){ var fp=p.startsWith("src/")?p:"src/"+p; zip.file(folder+fp,extracted[p]); }); zip.file(folder+"README.md","# "+slugTitle(pn)+"\n\nGenerated by PantheraHive BOS.\n\n## Setup\n\`\`\`bash\nnpm install\nng serve\n# or: npm start\n\`\`\`\n\n## Build\n\`\`\`bash\nng build\n\`\`\`\n\nOpen in VS Code with Angular Language Service extension.\n"); zip.file(folder+".gitignore","node_modules/\ndist/\n.env\n.DS_Store\n*.local\n.angular/\n"); } /* --- Python --- */ function buildPython(zip,folder,app,code){ var title=slugTitle(app); var pn=pkgName(app); var src=code.replace(/^\`\`\`[\w]*\n?/m,"").replace(/\n?\`\`\`$/m,"").trim(); var reqMap={"numpy":"numpy","pandas":"pandas","sklearn":"scikit-learn","tensorflow":"tensorflow","torch":"torch","flask":"flask","fastapi":"fastapi","uvicorn":"uvicorn","requests":"requests","sqlalchemy":"sqlalchemy","pydantic":"pydantic","dotenv":"python-dotenv","PIL":"Pillow","cv2":"opencv-python","matplotlib":"matplotlib","seaborn":"seaborn","scipy":"scipy"}; var reqs=[]; Object.keys(reqMap).forEach(function(k){if(src.indexOf("import "+k)>=0||src.indexOf("from "+k)>=0)reqs.push(reqMap[k]);}); var reqsTxt=reqs.length?reqs.join("\n"):"# add dependencies here\n"; zip.file(folder+"main.py",src||"# "+title+"\n# Generated by PantheraHive BOS\n\nprint(title+\" loaded\")\n"); zip.file(folder+"requirements.txt",reqsTxt); zip.file(folder+".env.example","# Environment variables\n"); zip.file(folder+"README.md","# "+title+"\n\nGenerated by PantheraHive BOS.\n\n## Setup\n\`\`\`bash\npython3 -m venv .venv\nsource .venv/bin/activate\npip install -r requirements.txt\n\`\`\`\n\n## Run\n\`\`\`bash\npython main.py\n\`\`\`\n"); zip.file(folder+".gitignore",".venv/\n__pycache__/\n*.pyc\n.env\n.DS_Store\n"); } /* --- Node.js --- */ function buildNode(zip,folder,app,code){ var title=slugTitle(app); var pn=pkgName(app); var src=code.replace(/^\`\`\`[\w]*\n?/m,"").replace(/\n?\`\`\`$/m,"").trim(); var depMap={"mongoose":"^8.0.0","dotenv":"^16.4.5","axios":"^1.7.9","cors":"^2.8.5","bcryptjs":"^2.4.3","jsonwebtoken":"^9.0.2","socket.io":"^4.7.4","uuid":"^9.0.1","zod":"^3.22.4","express":"^4.18.2"}; var deps={}; Object.keys(depMap).forEach(function(k){if(src.indexOf(k)>=0)deps[k]=depMap[k];}); if(!deps["express"])deps["express"]="^4.18.2"; var pkgJson=JSON.stringify({"name":pn,"version":"1.0.0","main":"src/index.js","scripts":{"start":"node src/index.js","dev":"nodemon src/index.js"},"dependencies":deps,"devDependencies":{"nodemon":"^3.0.3"}},null,2)+"\n"; zip.file(folder+"package.json",pkgJson); var fallback="const express=require(\"express\");\nconst app=express();\napp.use(express.json());\n\napp.get(\"/\",(req,res)=>{\n res.json({message:\""+title+" API\"});\n});\n\nconst PORT=process.env.PORT||3000;\napp.listen(PORT,()=>console.log(\"Server on port \"+PORT));\n"; zip.file(folder+"src/index.js",src||fallback); zip.file(folder+".env.example","PORT=3000\n"); zip.file(folder+".gitignore","node_modules/\n.env\n.DS_Store\n"); zip.file(folder+"README.md","# "+title+"\n\nGenerated by PantheraHive BOS.\n\n## Setup\n\`\`\`bash\nnpm install\n\`\`\`\n\n## Run\n\`\`\`bash\nnpm run dev\n\`\`\`\n"); } /* --- Vanilla HTML --- */ function buildVanillaHtml(zip,folder,app,code){ var title=slugTitle(app); var isFullDoc=code.trim().toLowerCase().indexOf("=0||code.trim().toLowerCase().indexOf("=0; var indexHtml=isFullDoc?code:"\n\n\n\n\n"+title+"\n\n\n\n"+code+"\n\n\n\n"; zip.file(folder+"index.html",indexHtml); zip.file(folder+"style.css","/* "+title+" — styles */\n*{margin:0;padding:0;box-sizing:border-box}\nbody{font-family:system-ui,-apple-system,sans-serif;background:#fff;color:#1a1a2e}\n"); zip.file(folder+"script.js","/* "+title+" — scripts */\n"); zip.file(folder+"assets/.gitkeep",""); zip.file(folder+"README.md","# "+title+"\n\nGenerated by PantheraHive BOS.\n\n## Open\nDouble-click \`index.html\` in your browser.\n\nOr serve locally:\n\`\`\`bash\nnpx serve .\n# or\npython3 -m http.server 3000\n\`\`\`\n"); zip.file(folder+".gitignore",".DS_Store\nnode_modules/\n.env\n"); } /* ===== MAIN ===== */ var sc=document.createElement("script"); sc.src="https://cdnjs.cloudflare.com/ajax/libs/jszip/3.10.1/jszip.min.js"; sc.onerror=function(){ if(lbl)lbl.textContent="Download ZIP"; alert("JSZip load failed — check connection."); }; sc.onload=function(){ var zip=new JSZip(); var base=(_phFname||"output").replace(/\.[^.]+$/,""); var app=base.toLowerCase().replace(/[^a-z0-9]+/g,"_").replace(/^_+|_+$/g,"")||"my_app"; var folder=app+"/"; var vc=document.getElementById("panel-content"); var panelTxt=vc?(vc.innerText||vc.textContent||""):""; var lang=detectLang(_phCode,panelTxt); if(_phIsHtml){ buildVanillaHtml(zip,folder,app,_phCode); } else if(lang==="flutter"){ buildFlutter(zip,folder,app,_phCode,panelTxt); } else if(lang==="react-native"){ buildReactNative(zip,folder,app,_phCode,panelTxt); } else if(lang==="swift"){ buildSwift(zip,folder,app,_phCode,panelTxt); } else if(lang==="kotlin"){ buildKotlin(zip,folder,app,_phCode,panelTxt); } else if(lang==="react"){ buildReact(zip,folder,app,_phCode,panelTxt); } else if(lang==="vue"){ buildVue(zip,folder,app,_phCode,panelTxt); } else if(lang==="angular"){ buildAngular(zip,folder,app,_phCode,panelTxt); } else if(lang==="python"){ buildPython(zip,folder,app,_phCode); } else if(lang==="node"){ buildNode(zip,folder,app,_phCode); } else { /* Document/content workflow */ var title=app.replace(/_/g," "); var md=_phAll||_phCode||panelTxt||"No content"; zip.file(folder+app+".md",md); var h=""+title+""; h+="

"+title+"

"; var hc=md.replace(/&/g,"&").replace(//g,">"); hc=hc.replace(/^### (.+)$/gm,"

$1

"); hc=hc.replace(/^## (.+)$/gm,"

$1

"); hc=hc.replace(/^# (.+)$/gm,"

$1

"); hc=hc.replace(/\*\*(.+?)\*\*/g,"$1"); hc=hc.replace(/\n{2,}/g,"

"); h+="

"+hc+"

Generated by PantheraHive BOS
"; zip.file(folder+app+".html",h); zip.file(folder+"README.md","# "+title+"\n\nGenerated by PantheraHive BOS.\n\nFiles:\n- "+app+".md (Markdown)\n- "+app+".html (styled HTML)\n"); } zip.generateAsync({type:"blob"}).then(function(blob){ var a=document.createElement("a"); a.href=URL.createObjectURL(blob); a.download=app+".zip"; a.click(); URL.revokeObjectURL(a.href); if(lbl)lbl.textContent="Download ZIP"; }); }; document.head.appendChild(sc); } function phShare(){navigator.clipboard.writeText(window.location.href).then(function(){var el=document.getElementById("ph-share-lbl");if(el){el.textContent="Link copied!";setTimeout(function(){el.textContent="Copy share link";},2500);}});}function phEmbed(){var runId=window.location.pathname.split("/").pop().replace(".html","");var embedUrl="https://pantherahive.com/embed/"+runId;var code='';navigator.clipboard.writeText(code).then(function(){var el=document.getElementById("ph-embed-lbl");if(el){el.textContent="Embed code copied!";setTimeout(function(){el.textContent="Get Embed Code";},2500);}});}