Files
rocketry/ROCKETTOOLS_CONSOLIDATED_REFINED.md
2026-03-03 16:43:30 +00:00

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