A full-stack web platform for real-time monitoring and risk analysis of Near-Earth Objects (NEOs) using NASA’s NeoWs API.
Cosmic Watch is designed to make asteroid tracking data accessible and understandable.
NASA provides accurate NEO datasets, but they are often raw and difficult to interpret for non-experts.
This platform transforms that data into:
- Structured dashboards
- Simplified risk classifications
- Personalized watchlists
- Real-time close-approach monitoring
The goal is to combine clean system architecture, secure authentication, and clear data presentation into a production-ready full-stack application.
- Secure user registration & login
- JWT-based authentication
- Password hashing
- Protected routes
- Live integration with NASA NeoWs API
- Displays:
- Asteroid name
- Diameter
- Velocity
- Miss distance
- Hazardous status
Asteroids are categorized using:
- NASA hazardous flag
- Estimated diameter thresholds
- Miss distance from Earth
Risk levels are calculated and displayed in a simplified format for quick understanding.
- Add asteroids to personal watchlist
- Remove tracked objects
- View monitored objects in dashboard
- Highlights upcoming close approaches
- Dashboard-based alert visualization
- Multi-service architecture
- One-command setup using Docker Compose
Frontend (React) ↓ Backend REST API (Node.js / Express) ↓ NASA NeoWs API ↓ MongoDB Database
- Frontend and backend are fully separated
- RESTful API structure
- Stateless authentication using JWT
- Containerized deployment
- React.js
- Tailwind CSS
- Axios
- Node.js
- Express.js
- JWT Authentication
- REST API Design
- MongoDB
- Mongoose
- Docker
- Docker Compose
- Git
- NASA NeoWs (Near Earth Object Web Service)
cosmic-watch/ │ ├── frontend/ │ ├── src/ │ ├── components/ │ └── pages/ │ ├── backend/ │ ├── controllers/ │ ├── routes/ │ ├── middleware/ │ └── models/ │ ├── docker-compose.yml ├── AI-LOG.md └── README.md
git clone https://github.com/your-username/cosmic-watch.git
cd cosmic-watch