# Maths Problem Solver - Full Documentation ## Overview Maths Problem Solver is a web application designed to help students and educators solve mathematical problems using a wide range of formulas. The app provides not just the final result but also the intermediate steps taken to reach that result, making it an educational tool. ## Project Structure - `src/data/formulas.ts`: The core database of mathematical formulas. Each formula includes metadata (ID, name, category, level, description), variables (symbol, name, unit), and a calculation function that returns the result and steps. - `src/pages/`: Contains the main application pages: - `Index.tsx`: Home page with featured calculators. - `CalculatorPage.tsx`: Dynamic page for specific formula calculators. - `Categories.tsx` & `CategoryPage.tsx`: Browsing by category. - `Levels.tsx`: Browsing by educational level. - `src/components/`: Reusable UI components built with shadcn/ui. - `scripts/generate-sitemap.js`: A script that generates a dynamic sitemap including all formula pages. ## Supported Categories & Levels ### Levels - Elementary (1st-5th Grade) - Middle School (6th-8th Grade) - High School (9th-12th Grade) - University / Higher Education ### Categories - Arithmetic - Geometry - Algebra - Finance - Statistics - Calculus (Integrals, Derivatives) - Trigonometry - Science (Physics, Chemistry formulas) ## Functionality - **Dynamic Calculation**: Users input values for formula variables, and the app calculates the result in real-time. - **Step-by-Step Solutions**: Every calculation shows the formula being used and the substitution of values. - **Unit Management**: Support for different units (distance, currency, etc.) with automatic formatting. - **Responsive Design**: Mobile-friendly interface powered by Tailwind CSS. ## Development & Build - `npm run dev`: Starts the development server. - `npm run build`: Generates the sitemap and builds the project for production. - `npm run test:formulas`: Runs a test suite to verify the accuracy of formula calculations. - `npm run seo:submit`: Script for SEO tools and indexing submission.