AI Study Plan Generator
Run ID: 69b6ed7195d85cd5976257922026-03-29Education
PantheraHive BOS
BOS Dashboard

Create a personalized study plan with flashcards and quizzes

AI Study Plan Generator: Personalized Math Study Plan (Beginner)

Study Plan Overview

  • Subject: Math
  • Duration: 2 Weeks
  • Current Level: Beginner
  • Goals: Learn fundamental mathematical basics, build a strong foundation for future learning.

This personalized study plan is designed to provide a structured approach for a beginner to grasp essential mathematical concepts within a two-week timeframe. It emphasizes foundational understanding, consistent practice, and progressive learning.


Weekly Breakdown

Week 1: Foundational Concepts & Number Sense

Focus: Establishing a strong understanding of numbers, basic operations, and an introduction to algebraic thinking and fundamental geometry.

  • Key Topics:

* Numbers and Operations:

* Types of Numbers (Whole, Integers, Rational)

* Order of Operations (PEMDAS/BODMAS)

* Operations with Integers (Addition, Subtraction, Multiplication, Division)

* Fractions (Simplifying, Operations, Converting between mixed numbers/improper fractions)

* Decimals (Place Value, Operations, Converting between fractions/decimals)

* Introduction to Algebra:

* Variables and Expressions

* Evaluating Expressions

* Introduction to Solving One-Step Linear Equations (Addition, Subtraction)

* Basic Geometry:

* Identifying Basic Shapes (Squares, Rectangles, Triangles, Circles)

* Perimeter of Polygons

* Area of Squares and Rectangles

  • Recommended Learning Resources:

* Online Courses: Khan Academy (Pre-Algebra Course - Sections on "Arithmetic Foundations," "Negative Numbers," "Fractions," "Decimals," "Expressions, Equations, & Inequalities - Introduction to algebra," "Geometry - Basic geometry concepts").

* Textbooks (Optional/Supplemental): "Basic Math and Pre-Algebra for Dummies" by Mark Zegarelli, "Schaum's Outline of Basic Mathematics for Algebra and Pre-Calculus" by Barnett Rich.

* Websites: Math-Drills.com (for printable worksheets), IXL.com (for interactive practice - subscription may be required).

  • Daily Activities & Practice (Suggested):

* Day 1-2: Numbers & Order of Operations. Watch videos, read explanations, complete practice sets.

* Day 3-4: Integers & Fractions. Focus on understanding the rules for operations with negative numbers and different types of fractions.

* Day 5-6: Decimals & Introduction to Algebra (variables, expressions). Practice converting and operating with decimals.

* Day 7: Review of Week 1 topics. Solve mixed problem sets, identify areas of difficulty, and re-visit relevant lessons.

Week 2: Building Blocks & Problem Solving

Focus: Expanding on algebraic concepts, understanding ratios and percentages, basic data analysis, and applying learned skills to problem-solving.

  • Key Topics:

* Algebraic Equations:

* Solving Two-Step Linear Equations

* Introduction to Inequalities (understanding the concept, graphing simple inequalities)

* Ratios, Proportions, and Percentages:

* Understanding Ratios and Rates

* Solving Proportions

* Converting between Fractions, Decimals, and Percentages

* Calculating Percentages of a Number, Percentage Increase/Decrease

* Data Analysis:

* Mean, Median, Mode, and Range

* Introduction to Reading Simple Graphs (Bar Graphs, Pie Charts)

* Review and Application:

* Word Problems integrating multiple concepts.

* Comprehensive review of all basic math concepts.

  • Recommended Learning Resources:

* Online Courses: Khan Academy (Pre-Algebra Course - Sections on "Equations & inequalities," "Ratios, Rates, & Percentages," "Statistics & probability - Data and modeling").

* Textbooks: Continue with Week 1 resources or explore dedicated chapters on these topics.

* Websites: Brilliant.org (for interactive problem-solving - subscription may be required), Math Playground (for engaging math games).

  • Daily Activities & Practice (Suggested):

* Day 8-9: Solving Two-Step Equations & Inequalities. Focus on the inverse operations and understanding inequality signs.

* Day 10-11: Ratios, Proportions, and Percentages. Work through real-world examples and conversion problems.

* Day 12-13: Data Analysis. Practice calculating central tendencies and interpreting simple data visualizations.

* Day 14: Comprehensive Review. Take a full practice test covering all topics from both weeks. Focus on problem-solving strategies for word problems.


Daily Study Schedule Template

This is a flexible template; adjust timings based on personal availability and learning style.

  • Morning (60-90 minutes):

* Review previous day's concepts/problems (10-15 min).

* Introduce new topic: Watch instructional videos, read explanations (30-45 min).

* Work through guided examples (20-30 min).

  • Afternoon/Evening (30-60 minutes):

* Practice problems: Solve independent exercises related to the new topic (20-40 min).

* Review difficult concepts or re-attempt previously missed problems (10-20 min).

  • Weekend (2-3 hours total):

* Catch up on any missed lessons.

* Comprehensive review of the week's topics.

* Work on challenge problems or participate in self-quizzes.

* Address weaker areas identified during the week.


Key Concepts to Master

By the end of this plan, you should have a solid grasp of:

  1. Number Systems: Understanding integers, rational numbers, and their properties.
  2. Arithmetic Operations: Proficiency in addition, subtraction, multiplication, and division with whole numbers, integers, fractions, and decimals.
  3. Order of Operations: Consistently applying PEMDAS/BODMAS.
  4. Algebraic Fundamentals: Understanding variables, expressions, and solving one- and two-step linear equations.
  5. Ratios & Percentages: Calculating ratios, solving proportions, and working with percentages.
  6. Basic Geometry: Calculating perimeter and area of fundamental 2D shapes.
  7. Data Interpretation: Understanding mean, median, mode, and range, and interpreting simple graphs.

Recommended Resources & Tools

  • Online Learning Platforms:

* Khan Academy: Free, comprehensive video lessons and practice exercises for all topics.

* YouTube: Search for specific math topics (e.g., "Math Antics," "The Organic Chemistry Tutor" for clear explanations).

  • Textbooks:

* "Basic Math and Pre-Algebra for Dummies" by Mark Zegarelli (user-friendly approach).

* "Pre-Algebra" by various publishers (e.g., McDougal Littell, Pearson) for structured learning.

  • Practice Websites:

* Math-Drills.com: Free printable worksheets on various topics.

* IXL.com: Adaptive practice with immediate feedback (paid subscription for full access).

* Prodigygame.com: Gamified math learning for a more engaging experience.

  • Tools:

* Desmos Calculator: Free online graphing calculator (useful for visualizing concepts later).

* Wolfram Alpha: Computational knowledge engine for solving problems and getting step-by-step solutions (useful for checking work).


Assessment and Progress Tracking

  • End-of-Topic Quizzes: Utilize quizzes provided by Khan Academy or your chosen textbook/online course after completing each major topic.
  • Self-Assessment: After completing practice problem sets, review your answers. For incorrect answers, try to understand why you made a mistake before looking at the solution.
  • Mistake Log: Keep a dedicated notebook or digital document to record problems you found challenging or solved incorrectly. Revisit these problems periodically.
  • Timed Practice: As you gain confidence, incorporate timed practice sessions to improve speed and accuracy, especially for fundamental operations.
  • Weekly Review Quizzes: At the end of each week, take a comprehensive quiz covering all topics learned that week.

Tips for Success

  1. Consistency is Key: Dedicate a consistent amount of time each day to studying math. Short, regular sessions are more effective than infrequent, long ones.
  2. Understand, Don't Memorize: Focus on understanding the underlying logic and principles behind mathematical concepts, rather than just memorizing formulas.
  3. Active Practice: Math is a skill. You learn by doing. Work through every example and practice problem yourself. Don't just read solutions.
  4. Seek Help: If you get stuck, don't hesitate to ask for help from online forums, tutors, or friends. Struggling is a part of learning, but getting stuck indefinitely is not productive.
  5. Take Breaks: Step away from your studies for short breaks to avoid burnout and allow your brain to process information.
  6. Review Regularly: Periodically revisit older topics to reinforce your understanding and ensure retention.
  7. Celebrate Progress: Acknowledge your achievements, no matter how small. This helps maintain motivation.
  8. Patience: Learning math takes time and effort. Be patient with yourself and persistent in your efforts.
Step 2: aistudygenius

AI Study Plan Generator: Flashcards for Math Basics

This section provides a set of digital flashcards designed to reinforce the core concepts outlined in your "Math Basics" study plan. These flashcards are tailored for a beginner level, focusing on fundamental principles to help you achieve your goal of learning the basics within two weeks.

Introduction to Flashcards

Flashcards are an effective tool for active recall and spaced repetition, crucial for memorizing definitions, formulas, and solving basic problems. Use these flashcards daily to test your understanding and solidify your knowledge of essential mathematical concepts.

How to Use These Flashcards

For each flashcard:

  • Read the Term/Question on the front.
  • Try to recall the Definition/Answer or solve the problem mentally.
  • Check your answer against the provided Definition/Answer.
  • Mark concepts you struggle with for extra review.

Generated Flashcards

Here are your personalized flashcards for beginner Math basics:

Category: Basic Arithmetic & Number Systems

| Term/Question | Definition/Answer |

| :-------------------------------------------- | :------------------------------------------------------------------------------------------------------------------------------------------------------------- |

| What is an Integer? | A whole number (not a fractional number) that can be positive, negative, or zero. Examples: -3, 0, 5. |

| What is a Whole Number? | Non-negative integers (0, 1, 2, 3, ...). |

| What is the Commutative Property of Addition? | States that the order in which numbers are added does not change the sum (a + b = b + a). Example: 3 + 5 = 5 + 3. |

| What is the Associative Property of Addition? | States that the way numbers are grouped in an addition problem does not change the sum ( (a + b) + c = a + (b + c) ). Example: (2+3)+4 = 2+(3+4). |

| What is the Identity Property of Addition? | States that the sum of any number and zero is that number (a + 0 = a). Example: 7 + 0 = 7. |

| What is the Identity Property of Multiplication? | States that the product of any number and one is that number (a × 1 = a). Example: 9 × 1 = 9. |

| What is the Inverse Property of Addition? | States that the sum of a number and its opposite (additive inverse) is zero (a + (-a) = 0). Example: 5 + (-5) = 0. |

| What is the result of 15 ÷ 3? | 5 |

| What is the product of 7 and 8? | 56 |

| What is the sum of 12 and 9? | 21 |

| What is the difference between 20 and 7? | 13 |

Category: Fractions & Decimals

| Term/Question | Definition/Answer |

| :-------------------------------------------- | :------------------------------------------------------------------------------------------------------------------------------------------------------------- |

| What is a Fraction? | A number that represents a part of a whole. It is written as a numerator (top number) over a denominator (bottom number). Example: 1/2. |

| What is the Numerator? | The top number in a fraction, indicating how many parts of the whole are being considered. |

| What is the Denominator? | The bottom number in a fraction, indicating the total number of equal parts the whole is divided into. |

| What is an Equivalent Fraction? | Fractions that represent the same value, even though they have different numerators and denominators. Example: 1/2 and 2/4. |

| How do you add fractions with the same denominator? | Add the numerators and keep the denominator the same. Example: 1/5 + 2/5 = 3/5. |

| Convert 0.75 to a fraction. | 3/4 |

| Convert 1/2 to a decimal. | 0.5 |

| What is 0.25 + 0.50? | 0.75 |

| What is 0.6 × 0.3? | 0.18 |

Category: Percentages & Basic Algebra

| Term/Question | Definition/Answer |

| :-------------------------------------------- | :------------------------------------------------------------------------------------------------------------------------------------------------------------- |

| What does "Percent" mean? | Per hundred, or out of 100. Represented by the symbol %. |

| Convert 25% to a decimal. | 0.25 |

| Convert 0.4 to a percentage. | 40% |

| What is 10% of 50? | 5 |

| What is a Variable in Algebra? | A symbol (usually a letter like x, y, a) that represents an unknown numerical value. |

| Solve for x: x + 5 = 12 | x = 7 (Subtract 5 from both sides: 12 - 5 = 7) |

| Solve for y: 3y = 15 | y = 5 (Divide both sides by 3: 15 ÷ 3 = 5) |

| What is an Equation? | A mathematical statement that shows two expressions are equal (e.g., x + 2 = 5). |

| What is an Expression? | A combination of numbers, variables, and operation symbols (e.g., 2x + 3). It does not contain an equality sign. |

Category: Basic Geometry

| Term/Question | Definition/Answer |

| :-------------------------------------------- | :------------------------------------------------------------------------------------------------------------------------------------------------------------- |

| What is Perimeter? | The total distance around the outside of a two-dimensional shape. Calculated by adding the lengths of all its sides. |

| What is Area? | The amount of surface a two-dimensional shape covers. Measured in square units. |

| What is the formula for the Perimeter of a Rectangle? | P = 2(length + width) or P = 2l + 2w. |

| What is the formula for the Area of a Rectangle? | A = length × width or A = lw. |

| What is a Square? | A quadrilateral with four equal sides and four right (90-degree) angles. |

| What is a Triangle? | A polygon with three sides and three angles. |

| What is the perimeter of a square with a side length of 4 cm? | 16 cm (4 cm + 4 cm + 4 cm + 4 cm = 16 cm or 4 * 4 cm = 16 cm) |


Flashcard Usage Tips

  • Daily Review: Dedicate 10-15 minutes each day to review a subset of these flashcards.
  • Active Recall: Don't just read the answer; actively try to retrieve it from memory before flipping the card.
  • Spaced Repetition: Focus more on the cards you find challenging. Review them more frequently than the ones you know well.
  • Self-Quiz: Use the "Term/Question" as a prompt and try to explain the concept or solve the problem aloud.
  • Digital Tools: Consider transferring these to a digital flashcard app (like Anki, Quizlet) for easier tracking and spaced repetition features.
  • Combine with Practice: After reviewing flashcards, immediately apply the learned concepts by solving practice problems from your textbook or online resources.

These flashcards will serve as a vital tool in mastering the foundational Math concepts. Consistent use will significantly enhance your understanding and retention throughout your 2-week study journey.

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);}});}