How madhan-crypto/astronaut-mission-trainer works
This is a browser-based Artemis lunar-outpost mission trainer for learners. The user journey runs through the React application: review a mission, preview and commit trade-off choices, monitor the three system gauges and habitat telemetry, then see a debrief and continue or restart. The same application provides the glossary, accessibility/audio controls, and Nova guide. Its NASA service fetches flare and imagery data with archived fallbacks. App-to-service wiring is evidenced by the source index; the excerpts do not expose the complete mission-state flow or all service rendering details.
Main entry points: App.jsx Mission Trainer · nasaApi.js Telemetry Service
Components 13
Mission Simulation
- Mission Trainer
src/App.jsx - Mission Decisions
src/App.jsx - System Gauges
src/App.jsx - Habitat View
src/App.jsx - Mission Debrief
src/App.jsx
Learning and Guidance
- Accessibility Controls
src/App.jsx - Space Glossary
src/App.jsx - Nova Guide
src/App.jsx
NASA Telemetry
- Telemetry Service
src/services/nasaApi.js - NASA DONKI
- NASA Image Library
- Offline Fallback Data
src/services/nasaApi.js
Other components
- Learner
Connections 13
- Learner → Mission Trainer: uses
README.md - Mission Trainer → Mission Decisions: presents
src/App.jsx - Mission Decisions → System Gauges: previews deltas
src/App.jsx - Mission Decisions → Habitat View: updates telemetry view
README.md - Mission Decisions → Mission Debrief: reports outcome
README.md - Mission Trainer → Accessibility Controls: offers controls
src/App.jsx - Mission Trainer → Space Glossary: renders
src/App.jsx - Mission Trainer → Nova Guide: renders
src/App.jsx - Mission Trainer → Telemetry Service: fetches data
README.md - Telemetry Service → NASA DONKI: requests flares
src/services/nasaApi.js - Telemetry Service → NASA Image Library: requests imagery
src/services/nasaApi.js - Telemetry Service → Offline Fallback Data: falls back to
src/services/nasaApi.js - Telemetry Service → Mission Trainer: returns weather and images
src/App.jsx