# RocketTools Project - FINAL APPROVED DOCUMENT ## Executive Summary RocketTools is a web-based application that provides engineering calculators and tools for rocket propulsion. Built with React and Vite, it serves both students learning aerospace engineering concepts and professional engineers performing complex propulsion calculations. The application features an intuitive drag-and-drop interface for manipulating variables and solving equations, along with 3D visualization capabilities for engine design. ## Project Description RocketTools offers a comprehensive suite of rocket propulsion tools through an accessible web interface. The platform combines educational content with professional-grade calculation capabilities, enabling users to learn concepts while performing real engineering work. ## Main Objectives 1. **Educational Excellence** Provide an accessible platform for learning rocket propulsion concepts through interactive calculations and visualizations, making complex aerospace engineering principles understandable to students and newcomers to the field. 2. **Engineering Precision** Offer precise computational tools for rocket engineers to perform complex propulsion calculations with accuracy and reliability, supporting professional engineering work. 3. **Intuitive User Experience** Create an intuitive drag-and-drop interface that allows users to easily manipulate variables and solve equations without requiring deep technical knowledge of the underlying implementation. 4. **Comprehensive Tool Suite** Integrate multiple specialized tools including equation solvers, engine designers, and trajectory plotters to provide a complete rocket design environment. ## Project Scope ### Core Features 1. **Equation Solver** - Drag-and-drop interface for rocketry variables - Automatic solving of unknowns using constraint propagation - Support for scientific notation and unit conversions - Export capabilities (ODT, JSON formats) 2. **Engine Designer** - Configuration tools for combustion chambers, nozzles, and feed systems - Live 3D visualization of engine models using React Three Fiber - Interactive design parameters 3. **Knowledge Base** - Reference materials for fuels and oxidizers - Educational content for propulsion theory 4. **Planned Features** - Trajectory Plotter for flight simulation - Additional propulsion calculation tools ### Technical Implementation - **Frontend Framework**: React with Vite for fast development and hot module replacement - **3D Visualization**: Integration with Three.js via React Three Fiber and Drei - **UI Components**: Custom drag-and-drop functionality using DnD Kit - **Routing**: React Router for navigation between tools - **Styling**: TailwindCSS for responsive design - **State Management**: Custom hooks for solver logic and state management - **Export Functionality**: JSZip for file compression and packaging ### Target Audience - Aerospace engineering students at universities and colleges - Professional rocket engineers in industry - Hobbyist rocket enthusiasts with technical interests - Educational institutions teaching propulsion and aerospace engineering courses ### Out of Scope - Desktop application development (web-based only) - Multi-user collaboration features - Hardware integration or physical simulation - Advanced aerodynamics beyond basic propulsion ## Success Criteria - Positive feedback from target user groups during beta testing - Accuracy of engineering calculations validated against established methods - Responsive interface with load times under 2 seconds - Complete documentation covering all tools and features - Successful deployment with 99% uptime over a 30-day period ## Project Constraints - Single developer project with limited resources - Web-based delivery requiring modern browser support - Focus on fundamental rocket propulsion calculations rather than advanced simulations - Dependency on third-party libraries that may require updates ## Current Development Status The project is actively under development with the following components completed: - Core equation solver functionality with drag-and-drop interface - Engine designer with 3D visualization capabilities - Knowledge base with propellant reference data - Export functionality for results in ODT and JSON formats - Responsive UI design using TailwindCSS Upcoming development priorities include: - Implementation of trajectory plotting capabilities - Expansion of the knowledge base with additional educational content - Performance optimizations for complex calculations - Enhanced export options ## Technology Stack ### Core Technologies - **React 19**: Modern UI library for building interactive interfaces - **Vite 7**: Next-generation frontend tooling for fast development - **React Router 7**: Declarative routing for React applications ### Specialized Libraries - **DnD Kit**: Complete drag and drop toolkit for React - **React Three Fiber**: React renderer for Three.js - **Drei**: Useful helpers for React Three Fiber - **Three.js**: JavaScript 3D library - **JSZip**: JavaScript library for creating, reading and editing .zip files ### Development Tools - **TailwindCSS**: Utility-first CSS framework - **ESLint**: JavaScript linting utility - **Vite Plugins**: For enhanced development experience ## Project Structure ### High-Level Architecture ``` src/ ├── components/ # Reusable UI components │ ├── engine/ # Engine-specific components │ └── rocket/ # Rocket-specific components ├── pages/ # Page-level components corresponding to routes ├── engine/ # Core engine calculation logic and data ├── hooks/ # Custom React hooks for state management ├── assets/ # Static assets (images, icons, etc.) ├── App.jsx # Main application component with routing └── main.jsx # Application entry point ``` ### Key Architectural Layers 1. **Frontend Framework Layer** (React + Vite) 2. **UI Component Layer** (Drag-and-drop interface components) 3. **Page Layer** (Route-specific views) 4. **Business Logic Layer** (Calculation engines and state management) 5. **3D Visualization Layer** (Engine design visualization) ### Component Relationships ``` App.jsx (routes) ├── Home ├── Solver │ ├── VariablePalette │ ├── Workspace │ │ └── VariableCard │ ├── ResultsPanel │ ├── PropellantModal │ ├── EquationBrowser │ └── useSolver hook ↔ solver.js ├── EnginePage │ ├── Engine Components │ └── 3D Visualization (React Three Fiber) ↔ useEngineDesign hook ├── RocketPage │ └── useRocketDesign hook ├── KnowledgebaseFuelsPage └── (Footer/Header for navigation) ``` --- **APPROVAL STATUS**: ✅ Approved by Project Leads **APPROVAL DATE**: [To be filled] **NEXT REVIEW DATE**: [To be filled] *This consolidated document represents the final approved version of the RocketTools project description and structure for distribution to all stakeholders.*