A real-time tracking application for the International Space Station (ISS). Track the ISS position, velocity, and altitude on an interactive map.
This application consists of two parts: a backend API server and a frontend React app. Both need to be running simultaneously.
Open a terminal and run:
cd server
npm install
npm start or nodemon startYou should see:
ISS Locator API listening on port 5000
Environment: development
API available at: http://localhost:5000/api
Open a second terminal (keep the backend running) and run:
cd client
npm install
npm run devYou should see:
VITE ready in XXX ms
➜ Local: http://localhost:5173/
Navigate to http://localhost:5173 to use the ISS Locator.
- Real-time ISS position tracking
- Interactive world map with ISS marker (Leaflet)
- Live orbital data: speed, altitude, direction
- Responsive design (mobile + desktop)
- Node.js & Express
- Axios (HTTP client)
- Modular architecture (routes, controllers, services, utils)
- Open Notify API for ISS data
- React 19
- Ant Design (UI components)
- Leaflet & React Leaflet (maps)
- React Router (navigation)
- Axios (API communication)
- Vite (build tool)
satellite-locator/
├── server/ # Backend API (Node.js + Express)
│ ├── config/ # Constants and configuration
│ ├── controllers/ # Request handlers
│ ├── services/ # Business logic & external APIs
│ ├── routes/ # API route definitions
│ ├── middleware/ # Error handling & logging
│ ├── utils/ # Helper functions (calculations)
│ └── index.js # Entry point
│
└── client/ # Frontend (React + Vite)
├── src/
│ ├── components/ # Reusable UI components
│ ├── pages/ # Page components
│ ├── services/ # API communication
│ ├── hooks/ # Custom React hooks
│ └── App.jsx # Main app component
└── public/ # Static assets
Base URL: http://localhost:5000/api
GET /api/iss/position- Current ISS position (lat/lon)GET /api/iss/tracking- Full tracking data (position + velocity + trajectory)GET /api/iss/health- API health checkGET /api/crew- Current ISS crew members