113 lines
4.4 KiB
Markdown
113 lines
4.4 KiB
Markdown
# Detailed Project Structure Outline
|
|
|
|
## I. Root Directory Structure
|
|
A. Configuration Files
|
|
1. package.json - Project dependencies and scripts
|
|
2. vite.config.js - Vite build configuration
|
|
3. eslint.config.js - ESLint configuration
|
|
4. .gitignore - Git ignore patterns
|
|
|
|
B. Documentation Files
|
|
1. README.md - Project introduction and setup
|
|
2. PROJECT_OVERVIEW.md - Detailed project description
|
|
3. PROJECT_STRUCTURE.md - Technical architecture
|
|
4. Various other documentation files (.md)
|
|
|
|
C. Directories
|
|
1. src/ - Main source code
|
|
2. public/ - Static assets
|
|
3. dist/ - Build output (generated)
|
|
4. node_modules/ - Dependencies (generated)
|
|
|
|
## II. Source Code Directory (src/)
|
|
A. Entry Points
|
|
1. main.jsx - Application entry point
|
|
2. App.jsx - Main application component with routing
|
|
3. index.css - Global styles
|
|
|
|
B. Components Directory (src/components/)
|
|
1. General UI Components
|
|
a. VariablePalette.jsx - Sidebar with draggable variables
|
|
b. Workspace.jsx - Main area for variable manipulation
|
|
c. ResultsPanel.jsx - Display area for calculation results
|
|
d. VariableCard.jsx - Draggable elements representing variables
|
|
e. PropellantModal.jsx - Modal for propellant selection
|
|
f. EquationBrowser.jsx - Interface for browsing equations
|
|
|
|
2. Specialized Component Subdirectories
|
|
a. engine/ - Engine-specific 3D visualization components
|
|
b. rocket/ - Rocket-specific components (currently minimal)
|
|
|
|
C. Pages Directory (src/pages/)
|
|
1. Home.jsx - Landing page showcasing available tools
|
|
2. Solver.jsx - Main equation solving interface
|
|
3. EnginePage.jsx - Engine design tool with 3D visualization
|
|
4. RocketPage.jsx - Rocket design interface (placeholder)
|
|
5. KnowledgebaseFuelsPage.jsx - Reference information about fuels
|
|
|
|
D. Engine Directory (src/engine/)
|
|
1. Core Calculation Modules
|
|
a. equations.js - Mathematical formulas for rocket propulsion
|
|
b. solver.js - Constraint propagation algorithm implementation
|
|
c. engineDesignCalcs.js - Engine design calculations
|
|
d. rocketDesignCalcs.js - Rocket design calculations
|
|
e. numerics.js - Numerical methods and algorithms
|
|
f. units.js - Unit conversion utilities
|
|
g. variables.js - Variable definitions and management
|
|
h. format.js - Formatting utilities for display
|
|
|
|
2. Data Handling Modules
|
|
a. exportImport.js - General workspace save/load functionality
|
|
b. engineExportImport.js - Engine-specific import/export
|
|
c. rocketExportImport.js - Rocket-specific import/export
|
|
d. exportOdt.js - ODT document generation
|
|
e. knowledgebaseData.js - Knowledgebase reference data
|
|
|
|
3. Field Information
|
|
a. engineFieldInfo.js - Metadata about engine parameters
|
|
|
|
E. Hooks Directory (src/hooks/)
|
|
1. useSolver.js - State management for equation solver
|
|
2. useEngineDesign.js - State management for engine design
|
|
3. useRocketDesign.js - State management for rocket design
|
|
|
|
F. Assets Directory (src/assets/)
|
|
1. Images and icons
|
|
2. Other static media
|
|
|
|
## III. External Dependencies Analysis
|
|
A. Core Framework
|
|
1. react/react-dom - UI framework
|
|
2. vite - Build tool and development server
|
|
|
|
B. Specialized Libraries
|
|
1. @dnd-kit/* - Drag-and-drop functionality
|
|
2. @react-three/fiber/@react-three/drei - 3D rendering
|
|
3. three.js - 3D graphics library
|
|
4. react-router-dom - Client-side routing
|
|
|
|
C. Utilities
|
|
1. jszip - File compression for exports
|
|
2. tailwindcss - Styling framework
|
|
|
|
## IV. Data Flow Architecture
|
|
A. Component to Hook Communication
|
|
1. Pages utilize custom hooks for state management
|
|
2. Hooks interface with engine modules for business logic
|
|
|
|
B. State Management Patterns
|
|
1. Custom hooks encapsulate complex state logic
|
|
2. Context API potential for cross-component state (if needed)
|
|
|
|
C. Data Persistence
|
|
1. Export/import functionality for workspace saving
|
|
2. ODT generation for report creation
|
|
|
|
## V. Build and Deployment Structure
|
|
A. Development Server
|
|
1. Vite HMR for rapid development
|
|
2. Hot module replacement configuration
|
|
|
|
B. Production Build
|
|
1. Optimized bundle generation
|
|
2. Asset optimization and minification |