(Note: This image is a conceptual placeholder for a future 3D globe and HUD interface. An actual visual asset will be added.)
The Orbital Surveillance Network (OSN) project offers the foundational intelligence engine for advanced space traffic control and situational awareness. This robust backend system is meticulously engineered to provide real-time tracking and critical conjunction analysis of Low Earth Orbit (LEO) objects, empowering the development of next-generation space monitoring platforms.
Built with TypeScript and Express.js, OSN efficiently integrates and processes Two-Line Element (TLE) data from CelesTrak, automatically identifying potential close-approach events and collision threats. It serves as a specialized, high-performance core for applications requiring precise orbital mechanics data and predictive analysis, offering a significant head start on complex space domain challenges.
- Real-time Satellite Tracking: Ingests and processes current TLE data to calculate and track the positions of LEO objects.
- Automated Conjunction Analysis: Identifies potential close-approach events between satellites, providing early warnings for collision avoidance.
- CelesTrak Data Integration: Seamlessly fetches and updates TLE data directly from CelesTrak sources.
- Scalable Express.js API: A performant and well-structured API designed for real-time data access and analysis, ready for integration into various frontends.
- Full-Stack Monorepo (pnpm): Organized with
pnpmfor streamlined development across the backend API and frontend components. - TypeScript End-to-End: Ensures type safety and enhanced developer experience across the entire codebase.
- Modular Architecture: Designed for extensibility, allowing easy integration of new orbital data sources or analytical modules.
OSN is structured as a pnpm monorepo, delineating responsibilities across specialized packages:
artifacts/api-server: The heart of the OSN, this Express.js backend API is responsible for TLE data fetching, processing, satellite tracking calculations, and conjunction analysis. It serves the core intelligence to potential client applications.artifacts/mockup-sandbox: A React-based frontend application serving as a sandbox for developing and showcasing UI components. While not the primary OSN frontend, it provides a rich toolkit for building responsive user interfaces that could consume the OSN API.artifacts/orion(Planned): This package is intended to house the primary OSN frontend application – a 3D interactive globe with a Heads-Up Display (HUD) for visualizing space objects and conjunction events. This component is currently undeveloped and represents a future enhancement.lib/db: A shared library for database interactions, pre-configured with Drizzle ORM for type-safe data management. The specific database schema for OSN space objects and conjunction events is currently a placeholder, awaiting implementation.
graph TD
A[Client Application<br>(e.g., Planned 3D Globe)] -->|HTTP/REST API Calls| B(OSN API Server<br>artifacts/api-server)
B -->|Fetch External Data| C[CelesTrak (TLE Data)]
B -->|Database Interactions| D[lib/db<br>(Drizzle ORM)]
D -->|SQL Operations| E(PostgreSQL Database)
subgraph UI Component Development
F[React UI Sandbox<br>artifacts/mockup-sandbox]
end
- Runtime: Node.js
- Package Manager: pnpm
- Language: TypeScript
- Backend: Express.js
- Frontend: React, Vite (for
mockup-sandbox) - Database: PostgreSQL
- ORM: Drizzle ORM
- UI Components: A rich set of accessible and customizable UI components
Follow these steps to set up and run the OSN API Server on your local machine.
- Node.js (LTS version recommended)
- pnpm
- Docker (for easily running PostgreSQL, or a local PostgreSQL instance)
- Clone the repository:
git clone https://github.com/AIandu/Galactic.git cd Galactic - Install dependencies:
pnpm install
- Start PostgreSQL: If using Docker, you can run:
Ensure you have
docker run --name osn-postgres -e POSTGRES_USER=user -e POSTGRES_PASSWORD=password -e POSTGRES_DB=osn_db -p 5432:5432 -d postgres:16
osn_dbcreated and accessible with the configured user/password. - Configure Environment Variables: Create a
.envfile in theartifacts/api-serverdirectory (or your project root, depending on your.envloading strategy) with your database connection string, for example:DATABASE_URL="postgresql://user:password@localhost:5432/osn_db"
- Navigate to the API server directory:
cd artifacts/api-server - Start the server:
The API server should now be running, typically on
pnpm dev
http://localhost:3000.
- Navigate to the mockup sandbox directory:
cd artifacts/mockup-sandbox - Start the development server:
The UI component sandbox will be available in your browser, typically on
pnpm dev
http://localhost:5173.