Skip to content

iamksr05/Orbiter

Repository files navigation

Orbiter - Space Exploration Hub

A comprehensive space exploration hub for enthusiasts, built with Next.js, TypeScript, and Tailwind CSS.

Features

  • Satellite Tracker: Real-time satellite tracking using N2YO.com API
  • Celestial Database: Explore planets and exoplanets from NASA Exoplanet Archive
  • Research Library: Search and save research papers from NASA ADS
  • Event Calendar: Track space events, launches, and space weather
  • Community Forum: Connect with fellow space enthusiasts
  • User Profiles: Save favorites and manage your space exploration data

Tech Stack

  • Frontend: Next.js 14, TypeScript, Tailwind CSS
  • Backend: Next.js API Routes, Prisma ORM
  • Database: PostgreSQL
  • Authentication: NextAuth.js
  • APIs: N2YO.com, Launch Library, NASA DONKI, NASA Exoplanet Archive, NASA ADS

Getting Started

Prerequisites

  • Node.js 18+
  • PostgreSQL database
  • API keys for external services

Installation

  1. Clone the repository:
git clone <repository-url>
cd orbiter
  1. Install dependencies:
npm install
  1. Set up environment variables:
cp .env.local.example .env.local
  1. Configure your .env.local file:
# Database
DATABASE_URL="postgresql://username:password@localhost:5432/orbiter"

# NextAuth
NEXTAUTH_URL="http://localhost:3000"
NEXTAUTH_SECRET="your-secret-key-here"

# API Keys
N2YO_API_KEY="your-n2yo-api-key"
NASA_ADS_API_KEY="your-nasa-ads-api-key"
NASA_DONKI_API_KEY="your-nasa-donki-api-key"

# External API URLs
LAUNCH_LIBRARY_API_URL="https://ll.thespacedevs.com/2.2.0"
NASA_DONKI_API_URL="https://api.nasa.gov/DONKI"
NASA_EXOPLANET_API_URL="https://exoplanetarchive.ipac.caltech.edu/TAP"
NASA_ADS_API_URL="https://api.adsabs.harvard.edu/v1"
  1. Set up the database:
npx prisma generate
npx prisma db push
  1. Run the development server:
npm run dev

API Keys Setup

N2YO.com API

  1. Visit N2YO.com
  2. Register for a free account
  3. Get your API key
  4. Add it to your .env.local file

NASA ADS API

  1. Visit NASA ADS
  2. Create an account
  3. Generate an API token
  4. Add it to your .env.local file

NASA DONKI API

  1. Visit NASA API
  2. Generate a free API key
  3. Add it to your .env.local file

Project Structure

src/
├── app/                    # Next.js app directory
│   ├── api/               # API routes
│   ├── auth/              # Authentication pages
│   ├── celestial-database/
│   ├── community/
│   ├── event-calendar/
│   ├── profile/
│   ├── research-library/
│   ├── satellite-tracker/
│   └── page.tsx           # Home page
├── components/            # React components
├── lib/                   # Utility functions and configurations
│   ├── api-services.ts    # External API integrations
│   ├── auth.ts           # NextAuth configuration
│   ├── daily-fetch.ts    # Daily data fetching scripts
│   └── prisma.ts         # Prisma client
└── prisma/
    └── schema.prisma     # Database schema

Daily Data Fetching

The application includes automated scripts to fetch data from external APIs daily:

  • Launch Library: Upcoming rocket launches
  • NASA DONKI: Solar flares, CMEs, and geomagnetic storms

To set up automated fetching, you can:

  1. Use a cron job service like Vercel Cron
  2. Set up a GitHub Action
  3. Use a service like cron-job.org to hit the /api/cron/daily-fetch endpoint

Contributing

  1. Fork the repository
  2. Create a feature branch
  3. Make your changes
  4. Submit a pull request

License

This project is licensed under the MIT License.

Support

For support, please open an issue on GitHub or contact the development team.

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages