Skip to content

Latest commit

 

History

History
164 lines (126 loc) · 4.03 KB

File metadata and controls

164 lines (126 loc) · 4.03 KB

Quick Start Guide - Satellite Tracking System

🚀 Quick Start with Docker

The fastest way to get started is using Docker Compose:

# 1. Clone the repository
git clone https://github.com/danielnovais-tech/copilot-cli.git
cd copilot-cli

# 2. Create .env file from example
cp .env.example .env

# 3. (Optional) Add your API credentials to .env
# For Space-Track.org: Register at https://www.space-track.org/auth/createAccount
# For ESA DISCOS: Request access at https://discosweb.esoc.esa.int

# 4. Start all services
docker-compose up -d

# 5. Access the application
# - Frontend: http://localhost:3000
# - Backend API: http://localhost:8000
# - API Docs: http://localhost:8000/docs

📋 Prerequisites

  • Docker & Docker Compose (for containerized deployment)
  • OR Python 3.11+ and Node.js 18+ (for manual installation)

🔑 API Credentials

Space-Track.org (Required for full functionality)

  1. Register at https://www.space-track.org/auth/createAccount
  2. Verify your email
  3. Add credentials to .env:
    SPACETRACK_USERNAME=your_username
    SPACETRACK_PASSWORD=your_password
    

CelesTrak (No auth required)

CelesTrak is used as a fallback and requires no authentication.

ESA DISCOS (Optional)

  1. Request access at https://discosweb.esoc.esa.int
  2. Obtain API token
  3. Add to .env:
    DISCOS_API_TOKEN=your_token
    

🎯 Using the System

Web Dashboard

  1. Open http://localhost:3000
  2. Click "Load ISS TLE" to fetch International Space Station data
  3. Click "Compute Ground Track" to visualize the orbit
  4. Switch to "Collision Risks" tab to view fragmentation events

API Examples

Get ISS TLE:

curl http://localhost:8000/api/v1/tle/iss

Compute Ground Track:

curl -X POST http://localhost:8000/api/v1/simulation/ground-track \
  -H "Content-Type: application/json" \
  -d '{
    "tle_line1": "1 25544U 98067A   21001.00000000  .00002182  00000-0  41420-4 0  9990",
    "tle_line2": "2 25544  51.6461 339.8014 0002571  34.5857 120.4689 15.48919393262190",
    "duration_hours": 24,
    "points": 100
  }'

Run Monte Carlo Simulation:

curl -X POST http://localhost:8000/api/v1/simulation/monte-carlo \
  -H "Content-Type: application/json" \
  -d '{
    "tle_line1": "1 25544U 98067A   21001.00000000  .00002182  00000-0  41420-4 0  9990",
    "tle_line2": "2 25544  51.6461 339.8014 0002571  34.5857 120.4689 15.48919393262190",
    "num_iterations": 1000,
    "perturbation_sigma": 1.0
  }'

🧪 Running Tests

# Install dependencies
pip install -r requirements.txt

# Run tests
pytest tests/ -v

# With coverage
pytest tests/ --cov=backend --cov-report=html

🛠️ Development

Backend Development

# Install dependencies
pip install -r requirements.txt

# Start Redis (required for caching)
docker run -d -p 6379:6379 redis:7-alpine

# Run backend
cd backend
python main.py

Frontend Development

# Install dependencies
cd frontend
npm install

# Start development server
npm start

📊 Features

  • ✅ Real-time TLE data from Space-Track.org and CelesTrak
  • ✅ Ground track visualization with Plotly
  • ✅ Monte Carlo orbital uncertainty analysis
  • ✅ Collision risk assessments from ESA DISCOS
  • ✅ Redis caching for performance
  • ✅ Vectorized NumPy calculations
  • ✅ Parallel processing for simulations
  • ✅ RESTful API with FastAPI
  • ✅ Interactive React dashboard

🐛 Troubleshooting

Backend won't start:

  • Check Redis is running: docker ps | grep redis
  • Verify Python version: python --version (needs 3.11+)

Frontend won't start:

  • Check Node version: node --version (needs 18+)
  • Clear cache: rm -rf node_modules package-lock.json && npm install

API returns 404:

  • Verify backend is running: curl http://localhost:8000/health
  • Check API credentials in .env

Cache not working:

  • Redis must be running on localhost:6379
  • Check Redis connection: redis-cli ping

📚 More Information

See SATELLITE_TRACKING_README.md for detailed documentation.