5.7 KiB
RocketTools - Rocket Propulsion Engineering Calculator
Project Overview
RocketTools is a sophisticated web-based engineering calculator specifically designed for rocket propulsion applications. Built with modern web technologies including React, Vite, and React Router, this application serves as a comprehensive platform for 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. It combines educational content with professional-grade calculation capabilities, enabling users to learn concepts while performing real engineering work.
Key Features
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)
Engine Designer
- Configuration tools for combustion chambers, nozzles, and feed systems
- Live 3D visualization of engine models using React Three Fiber
- Interactive design parameters
Knowledge Base
- Reference materials for fuels and oxidizers
- Educational content for propulsion theory
Planned Features
- Trajectory Plotter for flight simulation
- Additional propulsion calculation tools
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
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
Component Architecture
UI Components
- VariablePalette: Sidebar component containing draggable variable cards
- Workspace: Central area where users place and manipulate variables
- ResultsPanel: Displays calculation results and provides export functionality
- VariableCard: Individual draggable elements representing rocket variables
- PropellantModal: Modal dialog for selecting propellant properties
- EquationBrowser: Interface for browsing and selecting equations
Pages
- Home: Landing page showcasing available tools
- Solver: Main equation solving interface with drag-and-drop functionality
- EnginePage: Engine design tool with 3D visualization
- RocketPage: Rocket design interface (currently placeholder)
- KnowledgebaseFuelsPage: Reference information about fuels and oxidizers
Business Logic
Core modules located in src/engine/:
- equations.js: Mathematical formulas for rocket propulsion
- solver.js: Constraint propagation algorithm implementation
- engineDesignCalcs.js: Engine design calculations
- rocketDesignCalcs.js: Rocket design calculations
- units.js: Unit conversion utilities
- variables.js: Variable definitions and management
- numerics.js: Numerical methods and algorithms
- format.js: Formatting utilities for display
State Management
Custom React hooks in src/hooks/:
- useSolver: Core state management for the equation solver
- useEngineDesign: State management for engine design
- useRocketDesign: State management for rocket design
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
Development Status
✅ Documentation Finalized and Approved ✅ Core Functionality Implemented 🚧 Additional Features in Development
Completed Components
- 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
- Implementation of trajectory plotting capabilities
- Expansion of the knowledge base with additional educational content
- Performance optimizations for complex calculations
- Enhanced export options
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