This project is a React + TypeScript web app that helps you find solar eclipses close to a location from a Google Maps link.
It uses a NASA eclipse catalog dataset (years -1999 to 3000) and matches eclipse points by latitude/longitude distance.
- NASA Eclipse Web Site (catalog/database): https://eclipse.gsfc.nasa.gov/eclipse.html
- Accepts Google Maps links (including maps.app.goo.gl short links and full Google Maps URLs)
- Resolves the target latitude/longitude from the link
- Finds nearby eclipse positions from the NASA dataset
- Supports filtering by:
- Eclipse type (Total, Annular, Partial, Hybrid)
- Maximum distance in km
- Shows result details:
- Date
- Eclipse type
- Eclipse duration
- Eclipse position
- Distance to target point
- Link to the related NASA catalog page
- React + TypeScript
- Vite
- Tailwind CSS + DaisyUI
- Node scripts for dataset generation and NASA parsing
-
Install dependencies
pnpm install
-
Start development server
pnpm dev
-
Open the app
- Start dev server: pnpm dev
- Build app: pnpm build
- Preview production build: pnpm preview
- Rebuild eclipse dataset: pnpm build:dataset
- This project was primarily written with AI assistance.
- It is recommended to evolve and maintain this codebase using AI-assisted workflows (for example, GitHub Copilot Chat) to preserve consistency and velocity.
- The app reads eclipse data from src/data/eclipses-search.json.
- Google short-link resolution uses a local API route provided by Vite middleware during dev/preview.
- For production hosting, use a real backend/serverless endpoint for short-link expansion.