An interactive web application for designing and validating space habitats based on official NASA standards. Developed for the NASA Space Apps Challenge 2024.
Live Demo: https://nsa-aegis.us/
- Key Features
- Technology Stack
- Getting Started
- Usage
- Project Structure
- Contributing
- Team
- License
- Acknowledgments
- Dual Geometry Support: Design cylindrical or rectangular habitats.
- Real-time NASA Validation: All calculations are compliant with NASA Human Integration Design Handbook (HIDH) standards.
- Interactive Visualizations: Includes a 2D floor plan and a 3D model viewer powered by Plotly.
- Functional Zone Management: Allocate space for six key zones: Sleep, Work/Leisure, Hygiene, Kitchen, Exercise, and Storage.
- Dynamic Mission Parameters: Configure crew size, mission duration, and gravity environment.
- Automated Metrics: Instantly view total volume, Net Habitable Volume (NHV), floor area per person, and zone distribution.
- JSON Export: Save and share your complete habitat configuration.
- Core: Python 3.11+
- Web Framework: Streamlit
- Visualizations: Plotly
- Numerical Calculations: NumPy
- Deployment: Docker, Google Cloud Run
- Python 3.9+
pipandvenv
-
Clone the repository:
git clone https://github.com/kritgarb/Habitat-Layout-Creator.git cd Habitat-Layout-Creator -
Create and activate a virtual environment:
- On Windows:
python -m venv venv .\venv\Scripts\Activate.ps1 - On Linux/macOS:
python3 -m venv venv source venv/bin/activate
- On Windows:
-
Install dependencies:
pip install -r requirements.txt
-
Run the application:
streamlit run app.py
-
Access the application at
http://localhost:8501.
Alternatively, you can use Docker and Docker Compose to run the project in a container.
-
Build and run with Docker Compose:
docker-compose up --build
-
Or, build and run the container manually:
docker build -t habitat-layout-creator . docker run -p 8501:8501 habitat-layout-creator
- Configure Habitat: Use the sidebar to select the habitat's shape, dimensions, and functional zones.
- Set Mission Parameters: Adjust crew size, mission duration, and gravity.
- Review Metrics: Check the real-time calculations for volume, NHV, and floor area against NASA standards.
- Explore Visualizations: Switch between the 2D and 3D layout pages to view the interactive models.
- Export Configuration: Download the complete design as a JSON file.
Habitat-Layout-Creator/
├── app.py # Main Streamlit application
├── requirements.txt # Python dependencies
├── Dockerfile # Docker build configuration
├── LICENSE # MIT License
└── src/
├── components/ # Reusable UI components
├── config/ # Project constants and styles
├── pages/ # Application pages
├── utils/ # Calculation and validation functions
└── visualizations/ # Plotly visualization generators
This tool implements calculations and validations based on official NASA documentation:
- NASA Human Integration Design Handbook (HIDH): NASA/SP-2010-3407
- ISS Research Publications: Official Website
- Human Spaceflight Standards: Official Website
Contributions are welcome! Please feel free to submit a pull request or open an issue to report bugs or suggest features.
This project was developed by the ENTERPRISE Team for the NASA Space Apps Challenge 2024.
- Benjamin Vieira (Project Lead & Development)
- Alice Araujo (Development)
- Gabryel Batista (Design & UX)
- Vitória Ferreira (Quality Assurance)
- Caio Chagas (Research & Documentation)
- Enzo Andrade (English Review & Testing)
This project is licensed under the MIT License. See the LICENSE file for details.
- NASA for their extensive research and public standards on space habitability.
- The Streamlit and Plotly communities for their excellent open-source frameworks.