Skip to content

AI-powered exoplanet detection platform with ML light curve analysis and RAG chatbot. React + TypeScript frontend for NASA Space Apps Hackathon.

License

Notifications You must be signed in to change notification settings

JosephJonathanFernandes/Nasa-Space-Hackathon-WizCoders-frontend

Exoscope - A World Away: Hunting for Exoplanets with AI

🌌 NASA Space Apps Global Hackathon Project

πŸ”­ Explore the cosmos with AI β€” detect exoplanets straight from your browser!


Exoscope Screenshot

Exoscope Analysis Screenshot

Exoscope RAG Screenshot


πŸš€ Project Overview

Exoscope leverages machine learning to identify candidate exoplanets based on light curve data. The platform includes:

  • Dataset Upload & Analysis: Upload CSV files and visualize stellar brightness variations
  • AI Detection Model: Trained ML model identifies exoplanet candidates automatically
  • Research Assistant: RAG-powered chatbot helps researchers understand and explore data

πŸ› οΈ Technology Stack

Frontend

  • React 18 + Vite - Fast, modern development
  • TypeScript - Type-safe code
  • Tailwind CSS - Space-themed UI design
  • shadcn/ui - Beautiful component library
  • Recharts - Light curve visualization
  • React Router - Navigation

Backend

πŸ’« The FastAPI backend is available here:
πŸ‘‰ Exoscope Backend Repository

Deployments

The project has been deployed to the following endpoints (for convenience both the Hugging Face Space used for model hosting and the Vercel deployment for the full app are listed):

πŸ“ Project Structure

src/
β”œβ”€β”€ components/
β”‚   β”œβ”€β”€ layout/
β”‚   β”‚   β”œβ”€β”€ Navbar.tsx          # Navigation bar
β”‚   β”‚   └── Footer.tsx          # Footer with credits
β”‚   β”œβ”€β”€ home/
β”‚   β”‚   β”œβ”€β”€ Hero.tsx            # Hero section with 3D planet
β”‚   β”‚   └── Features.tsx        # Feature highlights
β”‚   β”œβ”€β”€ upload/
β”‚   β”‚   β”œβ”€β”€ UploadSection.tsx   # CSV upload with drag-drop
β”‚   β”‚   β”œβ”€β”€ AnalysisResult.tsx  # Results display
β”‚   β”‚   └── LightCurveChart.tsx # Light curve visualization
β”‚   └── chat/
β”‚       β”œβ”€β”€ ChatInterface.tsx   # Chat UI
β”‚       β”œβ”€β”€ MessageBubble.tsx   # Message display
β”‚       └── ChatInput.tsx       # Message input
β”œβ”€β”€ pages/
β”‚   β”œβ”€β”€ Home.tsx               # Landing page
β”‚   β”œβ”€β”€ UploadPage.tsx         # Upload & analysis page
β”‚   β”œβ”€β”€ ChatPage.tsx           # AI chatbot page
β”‚   └── NotFound.tsx           # 404 page
β”œβ”€β”€ services/
β”‚   └── api.ts                 # Backend API integration
β”œβ”€β”€ hooks/
β”‚   β”œβ”€β”€ useUpload.ts           # Upload logic hook
β”‚   └── useChat.ts             # Chat logic hook
└── App.tsx                    # Main app with routing

🚦 Getting Started

Prerequisites

  • Node.js 18+ and npm

Installation

# Clone the repository
git clone https://github.com/JosephJonathanFernandes/Nasa-Space-Hackathon-WizCoders-frontend
cd Nasa-Space-Hackathon-WizCoders-frontend

# Install dependencies
npm install

# Start development server
npm run dev

Visit http://localhost:8080 to see the application.

🧠 AI Model Integration

The platform is designed to work with ML models trained on:

  • NASA Kepler mission data
  • TESS mission observations
  • Transit detection algorithms
  • RAG (Retrieval-Augmented Generation) for chat

πŸ“ Development Guidelines

  • Components: Functional components with TypeScript
  • Styling: Design system tokens (no hardcoded colors)
  • State: React hooks for local state, React Query for server state
  • Documentation: JSDoc comments on all components/functions
  • Accessibility: ARIA labels, keyboard navigation

🌟 Features

Current

βœ… Dataset upload with drag-and-drop
βœ… Light curve visualization
βœ… Candidate detection display
βœ… AI chatbot interface
βœ… Responsive design
βœ… Space-themed animations

Coming Soon

  • Advanced filtering and sorting
  • Export analysis reports
  • User authentication
  • Dataset history

Table of contents

  • Quick start
  • Development
  • Repository separation
  • Contributing
  • Code of Conduct
  • Security
  • License
  • Credits

Quick start

This repository contains the frontend application for Exoscope. The frontend and backend are maintained as separate repositories β€” see the "Repository separation" section below for links.

Prerequisites

  • Node.js 18+ and npm (or pnpm/yarn)

Local development

  1. Clone the frontend repository (or navigate into this folder if already cloned).

    git clone https://github.com/JosephJonathanFernandes/Nasa-Space-Hackathon-WizCoders-frontend cd Nasa-Space-Hackathon-WizCoders-frontend

  2. Install dependencies

    npm ci

  3. Start the development server

    npm run dev

The Vite dev server will start and print the local URL (commonly http://localhost:5173). If you see a different port in your terminal, open that instead. Note: the instructions earlier in this file still reference http://localhost:8080 β€” keep whichever address your dev server reports.

Build and preview

npm run build npm run preview

Development

  • Use TypeScript and React functional components.
  • Follow the existing project structure in src/ for pages, components, hooks and services.
  • Keep UI tokens in Tailwind and avoid hardcoded colors.

Repository separation

Important: The frontend and backend are separate repositories. This repository contains only the frontend application and documentation. The backend (FastAPI) repository used by this project is available at:

https://github.com/JosephJonathanFernandes/Nasa-Space-Hackathon-WizCoders-backend

If you are running the full stack locally, clone and run the backend repo separately and update the frontend src/services/api.ts (or environment variables) to point to your local backend URL.

Contributing

Thanks for wanting to contribute! Please read the project's CONTRIBUTING.md for contribution guidelines, testing, and branching rules. A short summary:

  • Fork and create feature branches from main.
  • Open concise pull requests with a clear description and changelog when appropriate.
  • Add or update tests for new behavior.

Code of conduct

Please follow the project's CODE_OF_CONDUCT.md. We expect contributors to be respectful, inclusive, and collaborative.

Security

If you discover a security vulnerability, please report it privately to the maintainers via the contact method listed in SECURITY.md rather than opening a public issue.

License

This frontend repository is distributed under the MIT License β€” see the LICENSE file for details.

Credits

This project was developed for the NASA Space Apps Global Hackathon. Thanks to the participants, mentors, and the open-source ecosystem.


Built with ❀️ for exploring the cosmos πŸͺ

About

AI-powered exoplanet detection platform with ML light curve analysis and RAG chatbot. React + TypeScript frontend for NASA Space Apps Hackathon.

Resources

License

Code of conduct

Contributing

Security policy

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Contributors 4

  •  
  •  
  •  
  •  

Languages