Explore the cinematic frontier of planetary discovery.
ExoVault is a premium NASA Exoplanet Archive explorer built to turn raw astronomical data into a high-fidelity, high-speed scientific experience.
Explore Docs β’ Report Bug β’ Request Feature
- π Overview
- β¨ Key Features
- π οΈ Tech Stack
- π Getting Started
- ποΈ Project Architecture
- π‘ Data Pipeline
- π€ Contributing
- βοΈ License
- π Acknowledgements
ExoVault is a next-generation planetary archive explorer designed for researchers, developers, and space enthusiasts who value technical precision and cinematic presentation.
By leveraging Astro 6 and React 19, ExoVault delivers a zero-latency "Islands" architecture that processes thousands of rows of raw NASA system data into a lightweight, searchable, and beautiful interface. It eliminates the clunky overhead of traditional scientific databases in favor of a modern, glassmorphic exploration tool.
| Feature | Description |
|---|---|
| π Cinematic Discovery | Explore NASA's exoplanet catalog with high-fidelity visuals and animations. |
| π Auto-Sync Pipeline | Weekly automated ingestion of the latest planetary discoveries via NASA APIs. |
| βοΈ Side-by-Side Comparison | Analyze and compare up to 3 different planetary systems simultaneously. |
| β‘ Static Efficiency | Zero-latency navigation powered by Astro's server-side generation. |
| π Atmospheric UI | Premium glassmorphism design with native support for Light/Dark modes. |
| π Scientific Detail | Comprehensive access to orbital periods, mass, radius, and host star metadata. |
| π± Adaptive Power | Precision mobile-first responsiveness optimized for deep data ingestion. |
ExoVault is engineered using the most resilient modern frontend standards:
- Framework: Astro 6 (Static Site Generation + Islands Architecture)
- Interactive UI: React 19 + Lucide Icons
- Styling: Tailwind CSS 4 (Modern utility-first CSS)
- Data Engine: PapaParse for lightning-fast CSV-to-JSON ingestion
- Language: TypeScript (Strictly typed for data integrity)
- Node.js:
v22.0.0or higher - pnpm:
v10.11.1or higher (Recommended)
-
Clone the repository:
git clone https://github.com/johnnylemonny/ExoVault.git cd ExoVault -
Install dependencies:
pnpm install
-
Initalize the data cache:
pnpm run data:build
-
Spin up the development environment:
pnpm dev
src/
βββ components/ # Atomic UI components & custom Design System
βββ generated/ # Automated build-time data assets
βββ lib/ # Scientific math engines & formatting helpers
βββ pages/ # Astro routing and cinematic layouts
βββ types/ # Comprehensive TypeScript definitions
scripts/ # Custom Node.js data ingestion pipelines
ExoVault operates on a Static-First Data Philosophy:
- Automated Ingestion: Every Monday, a GitHub Action triggers
scripts/refresh-data.mjsto pull the latest CSV from NASA. - Optimized Payloads: Data is cleaned, typed, and compressed into
public/data/exoplanets-data.jsonduring the build phase. - Privacy & Speed: No database calls at runtime. Everything is delivered as optimized static assets for maximum speed and zero tracking.
Contributions are what make the open-source community such an amazing place to learn, inspire, and create. Any contributions you make are greatly appreciated.
- Please review our Contributing Guidelines before starting.
- Check the Issues for open tasks.
- Open a Pull Request using our Standard Template.
Distributed under the MIT License. See LICENSE for more information. This license allows for reuse while protecting the original authors' credit.
- Data provided by the NASA Exoplanet Archive.
- Inspired by modern astronomical visualizer projects.
- Built as part of a public open-source space exploration ecosystem.
Built with scientific passion for the discovery of other worlds.
______ __ __ _ _ | ____| \ \ / / | | | | |__ __ _____ \ \ / /_ _ _ _ | | |_ | __| \ \/ / _ \ \ \/ / _` | | | || | __| | |____ > < (_) | \ / (_| | |_| || | |_ |______/_/\_\___/ \/ \__,_|\__,_||_|\__|