This commit is contained in:
2026-03-03 16:43:30 +00:00
commit 03452517b5
58 changed files with 13181 additions and 0 deletions

View File

@@ -0,0 +1,137 @@
# 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